【发布时间】:2011-05-21 13:37:38
【问题描述】:
来自 Bash 手册:
Bash 通过以下方式执行扩展 执行命令并替换 用标准替换命令 命令的输出,任何 尾随换行被删除。
这意味着在处理带有有意义的尾随换行符的输出时可能会出现模糊的错误。一个人为的例子:
user@host:~$ path='test
'
user@host:~$ touch -- "$path"
user@host:~$ readlink -fn -- "$path"
/home/user/test
user@host:~$ full_path="$(readlink -fn -- "$path")"
user@host:~$ ls -- "$full_path"
ls: cannot access /home/user/test: No such file or directory
关于如何在不丢失语义有用数据的情况下将命令的值分配给变量的任何提示?
Bash 的冒险又将继续!
【问题讨论】: