请解释为什么"$"
在这个命令中需要。OC FreeBSD,/bin/sh
rm $(ls|grep '.*\.gz')
没有"$"
这个命令是行不通的。
这是关于$()
. 来自Bash 参考手册:
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