2014-01-19 223 views
1

好的,所以我试图将一些但不是全部的脚本参数合并到一个字符串中。我试图编写一个脚本来改变文件名中的空格来强调下划线,并且当给出选项-r时,它将递归地执行文件夹中的每个文件。将bash参数的一部分组合成一个字符串

假设文件保存为removespaces.sh,如果你运行removespaces.sh file with spaces.doc它并没有真正要关心的参数,我可以只使用$ *

,但是,当我试图做到这一点的我现在有一个完整的文件夹-r为$ 1。所以我不能只是(懒惰)使用$ * ..我怎么能创建一个等于$ 2的字符串结束?

回答

1

$2一个字符串参数的末尾:

"${*:2}" 

这不同于"${@:2}",它串接的所有参数,与每一个之间的空间。一般情况下,任何形式都可能是你想要的(例如,如果你的文件的名字中有多个连续的空格)。

相关问题