子shell通过()操作符进行定义,子shell的改变不会影响主shell
ps:通过引用子shell的方式保留空格和换行符时,需要使用双引号 "(..)"
ps:通过引用子shell的方式保留空格和换行符时,需要使用双引号 "(..)"
#管道
cmd1 | cmd2 #e.g. ls | cat -n >out.txt
#子shell
cmd_output=$(ls | cat -n)
#反引用
cmd_output=`cmd`
二 运行命令直至执行成功repeat(){while :; do &@ && return; sleep 20; done }
#&@表示传入的命令 例如
repeat wget -c http://....
true作为二进制文件实现,因此使用:命令,:命令默认返回为0的退出码
三 字段分隔符和迭代器
内部字段分隔符为IFS
data="one,two,three,four"
old_ifs=$IFS
IFS=,
for item in $data;
do
echo $item
done
IFS=$old_ifs
四 比较与测试-a逻辑与 condition1 -a condition2
if [[ condition1 ]] && [[ condition2 ]]
-o逻辑或 condition1 -a condition2
if [[ condition1 ]] || [[ condition2 ]]
没有评论:
发表评论