在shell命令中签署“$”

时间:2013-10-24 08:47:32

标签: shell sh

请在此命令中解释为何需要"$"。 OC FreeBSD,/bin/sh

rm $(ls|grep '.*\.gz')

如果没有"$",此命令就无效。

1 个答案:

答案 0 :(得分:1)

关于$()。来自Bash Reference Manual

  

实现了POSIX $()形式的命令替换(参见命令   替换),并且更喜欢Bourne shell的``(也是   实现了向后兼容性。)

因此rm $(ls|grep '.*\.gz')表达式对rm执行的输出执行ls|grep '.*\.gz'

实施例

$ date "+%F %T %Z"
2013-10-24 10:49:23 CEST
$ d=$(date "+%F %T %Z")
$ echo "$d"
2013-10-24 10:49:26 CEST