请在此命令中解释为何需要"$"
。 OC FreeBSD,/bin/sh
rm $(ls|grep '.*\.gz')
如果没有"$"
,此命令就无效。
答案 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