12. 命令替换
script_name=`basename $0`
echo "The name of this script is $scirpt_name."rm `cat filename` # "filename" 中包含了一系列需要被删除的文件名。
#
# S.C. 指出这样写可能会导致出现 "arg list too long" 的错误。
# 更好的写法应该是 xargs rm -- < filename
# ( -- 可以在 "filename" 文件名以 "-" 为开头时仍旧正常执行 )
textfile_listing=`ls *.txt`
# 变量中包含了当前工作目录下所有的名为 *.txt 的文件。
echo $textfile_listing
textfile_listing2=$(ls *.txt) # 命令替换的另一种形式。
echo $textfile_listing2
# 结果相同。
# 这样将一系列文件名赋值给一个单一字符串可能会出现换行。
#
# 而更加安全的方式是将这一系列文件存入数组。
# shopt -s nullglob # 设置后,如果没有匹配到文件,那么变量会被赋值为空。
# textfile_listing=( *.txt )
#
# 感谢 S.C.Last updated