在Shell中,管道将一个程序的标准输出作为另一个程序的标准输入,就像用一根管子将一个程序的输出连接到另一个程序的输入一样。
管道的符号是 | ,下面的程序将 cat 的标准输出作为 less 的标准输入,以实现翻页的功能:
有时候我们想要同时将程序的输出显示在屏幕上(或旦备进入管道)和保存到文件中,这个时候可以使用 tee 。
tee 程序的输出和它的输入一样,但是会将输入内容额外的保存到文件中:
上面的例子中, tee 程手迟悉毕乎序将 cat 程序的输出显示在屏幕上,并且在 hello.txt.bk 文件中保留了副本。需要注意的是,如果 tee 命令中指定的文件已经存在,那么它将会被覆盖,使用 -a 选项在文件末尾追加内容(而不是覆盖):
command1 &&command2 只有在 command1 成功执行后才会执行 command2 ; command1 || command2 在 command1 没有成功执行时执行 command2 。
比如下面的命令,会首先执行 sudo updatedb ,如果执行失败,则会执行 echo "update database error." :
工作中用到一个shell脚本内部是循环,在循环内需要更改循环外的颤桐值
简单结构如下
结果是 list_true和list_false肯灶铅定是空
因为管道符的原因,隐洞好会开启子shell,而子shell跟父shell变量不是通用的
解决方案一:
采用如下结构
解决方案二:
将变量存入文件,然后读取文件
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)