我有以下几行:
printf "---- %.55s\n" "$1 --------------"
Run Code Online (Sandbox Code Playgroud)
当我在 bash 下运行它时,出现以下错误:
printf: --: 无效选项 printf: 用法: printf [-v var] 格式 [参数]
这是因为(我认为) printf 将字符串“----”解释为参数的开头。我试图使用“\”来逃避这个,就像这样:
printf "\---- %.55s\n" "$1 --------------"
Run Code Online (Sandbox Code Playgroud)
结果如下:
\---- content of $1 -------
如您所见,“\”成为输出的一部分,这不是我想要的。
所以问题是,我怎样才能说服 printf 我不想传递一个长论点?
我的脚本正在 chroot 中用 systemd 替换 sysvinit,同时使用 debootstrap 构建 debian 映像。
由于这是一个“危险”的动作,apt-get 会问一个愚蠢的问题:“要继续输入‘是的,按我说的做!’”
我该如何编写对此的回复?
编辑:我尝试了所有 -y --yes --force-yes 选项,但它们不起作用。