Shell学习-引号的使用及重定向

Shell学习-引号的使用及重定向

编写脚本的时候会经常使用引号,shell支持的引号包括双引号、单引号、反引号、转移符号。

  1. 双引号:Linux中双引号中内容表示一个整体。
  2. 单引号:除了能够替代双引号,还会屏蔽特殊符号。
    echo '$$'  #屏蔽后正常输出符号$$
    echo $$ 显示当前的进程号
复制代码
  1. 反引号:用于命令替换。
    tar -czf /root/log-`date+%Y%m%d`.tar.gz /var/log # 打包文件生成以日期结束的压缩包
复制代码

反引号在使用过程中有些缺陷,比如容易与单引号混淆。不支持嵌套,因此在实际中可以使用$()来进行命令替换,并支持嵌套功能。

    echo "当前系统登录数量 $(who|wc -l)" 
复制代码

重定向

输出:Linux中的输出分为标准输出及标准错误输出,其中标准输出描述为1,错误输出描述为2。改变输出信息的方向
可以使用>或者>>。>会覆盖文件内容,>>追加文件内容。

  1. 标准输出与错误输出定位到不同文件:
    ls -l /etc/hosts /nofile > okfile 2> error.txt.  #正常文件输入OKfile,错误输出到error.txt
复制代码
  1. 标准输出与错误文件定位到相同文件,&>用于将标准输出与错误输出定向到一个文件。2>&1将错误输出定向到标准正确输出,1>&2将正确输出定向到错误输出。
 ls -l /etc/hosts /nofile &> okfile
复制代码
  1. 输入重定向 <及<<表示输入重定向。
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享