利用子shell生成一个独立的进程 子shell本身就是独立的进程。可以使用 () 操作符来定义一个子shell: pwd; (cd /bin; ls); pwd; 当命令在子shell中执行时,不会对当前shell有任何影响;所有的改变仅限于子shell内。例如, 当用 cd 命令改变子shell的当前目录时,这种变化不会反映到主shell环境中。
反引用(有些人们也称它为反标记)的方法也可以用于存储命令输出: cmd_output=`COMMANDS` 例如: cmd_output=`ls | cat -n` echo $cmd_output 反引用与单引号可不是一回事,它位于键盘的 ~ 键上
repeat(){ while true do $@ && return done } #单行写法 repeat() { while true; do $@ && return; done } #说明:函数 repeat ,它包含了一个无限 while 循环,该循环执行以参数形式(通过 $@访问)传入函数的命令。如果命令执行成功,则返回,进而退出循环。 # #更快的做法 #在大多数现代系统中, true 是作为/bin中的一个二进制文件来实现的。这就意味着每执行一次 while 循环,shell就不得不生成一个进程。如果不想这样,可以使用shell内建的“ : ”命令,它总是会返回为0的退出码: repeat() { while :; do $@ && return; done } #增加延时执行 repeat() { while :; do $@ && return; sleep 30; done }