为什么双引号会影响linux中这些echo语句的打印?
我正在捕获ps aux的输出:
current_processes=`ps aux | grep "tempdir" | tail -3` 当我回应它时,它看起来像这样 echo $current_processes 19984 10089 17784 当我回声加双引号时,它看起来像这样: echo "$current_processes" 19984 10089 17784 当我使用双引号但没有双引号时,为什么它会将这些放在新行上? 解决方法
效果来自shell.如果没有双引号,shell会用空格替换换行符,制表符和空格.您可以使用双引号来避免这种替换.有关更多详细信息,请参阅bash(1)手册页中的Word拆分部分:
您可以使用echo“$IFS”|查看IFS的内容XXD.它会告诉你 00000000: 2009 0a0a ... 这意味着空格(0x20),制表符(0x09)和换行符(0x0a).第二个0x0a来自echo命令. 您可以通过将IFS设置为空字符串来避免此替换: IFS="" echo "$current_processes" 19984 10089 17784 但我不建议这样做. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- linux – Inode表随着时间的推移急剧缩小,导致rsync / inod
- Sed错误:sed:-e表达式#1,char 25:`s’的未知选项
- linux – 在没有pam_groupdn的情况下管理LDAP登录到机器:允
- linux – cp:找不到命令
- linux – 将命令结果存储到变量中的ksh
- linux – 什么原因导致400 Bad Request错误为null(“”),为
- [转帖]linux下使用 du查看某个文件或目录占用磁盘空间的大小
- LINUX实操:Linux文件排序工具 sort 命令详解
- linux – 我应该何时创建一个新的用户帐户来在服务器上运行
- Linux下系统如何监控服务器硬件、操作系统、应用服务和业务