Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 在同一行上继续输出_Bash - Fatal编程技术网

Bash 在同一行上继续输出

Bash 在同一行上继续输出,bash,Bash,希望在任务完成后,在最后一行的末尾打印[OK]以实现奇特的效果 得到这个: echo "$0: Starting backup process in '$backupdir'... " sleep 3 echo '[OK]' 我在第一次回音结束时尝试了不同的方法,在第二次回音开始时尝试了不同的方法,比如\r,\c,\,谷歌搜索。。。不好 我希望它输出以下内容: /backup.sh:在“/backup”中启动备份过程… 。。。3秒钟后,添加[OK]: /backup.sh:正在“/backu

希望在任务完成后,在最后一行的末尾打印[OK]以实现奇特的效果

得到这个:

echo "$0: Starting backup process in '$backupdir'... " 
sleep 3
echo '[OK]'
我在第一次回音结束时尝试了不同的方法,在第二次回音开始时尝试了不同的方法,比如
\r
\c
\
,谷歌搜索。。。不好

我希望它输出以下内容:

/backup.sh:在“/backup”中启动备份过程…

。。。3秒钟后,添加
[OK]

/backup.sh:正在“/backup”中启动备份过程。。。[确定]


谢谢,

使用
-n
选项跳过末尾的换行符打印。更多参考资料请访问

所以你可以这样做:

echo -n "$0: Starting backup process in '$backupdir'... " 

使用更便携的printf
printf

printf“%s”$0:正在“$backupdir”中启动备份进程
睡眠3
printf'[确定]\n'

echo-n hello

echo的一些实现使用
-n
标志来抑制换行符;其他人在字符串末尾使用
\c
。如果您在脚本中使用其中一个,而echo期望使用另一个,那么您的输出前面将显示“-n”,或者最后显示“\c”。但是
printf“%s”$0:…“
将始终按预期工作。@Gordon Davisson@ghostdog74非常同意,甚至POSIX标准也说“鼓励新应用程序使用printf而不是echo。”+1请不要使用
echo
,坚持使用
printf
,阅读更多信息了解原因。