ls | cat -n > out.txt
①子shell的方式
output=$(ls |cat -n)
②反引用
output=`ls | cat -n`
第一种方式是子shell的这种方式,利用子shell生成一个独立的进程,可以使用()操作符来定义一个子shell;注意:命令在子shell中执行不会对当前shell有任何影响,所有的改变仅限于子shell
pwd;
(cd /bin;ls)
pwd;
由于cd是在子shell中运行,不影响父shell,两次pwd结果一致
在使用子shell或者反引用的方式时,可以将它放入一个双引号中,以保留空格和换行符\n
运行命令直至执行成功
while true
do
$@ && return
done
一种更快的做法
while :
do
$@ && return
done
true是作为/bin下的一个二进制文件来实现的,所以第一种写法每次循环会fork一个紫禁城,第二种中的:符号是shell内建命令,他总是会返回0的退出码,效率更好
本文深入探讨了Shell脚本中的实用技巧,包括如何通过子shell和反引用处理命令输出,保持空格和换行符不变。同时,文章介绍了两种运行命令直至成功的循环方法,并对比了它们的效率。
1万+

被折叠的 条评论
为什么被折叠?



