2014-01-19 245 views
1

好的,所以我試圖將一些但不是全部的腳本參數合併到一個字符串中。我試圖編寫一個腳本來改變文件名中的空格來強調下劃線,並且當給出選項-r時,它將遞歸地執行文件夾中的每個文件。將bash參數的一部分組合成一個字符串

假設文件保存爲removespaces.sh,如果你運行removespaces.sh file with spaces.doc它並沒有真正要關心的參數,我可以只使用$ *

,但是,當我試圖做到這一點的我現在有一個完整的文件夾-r爲$ 1。所以我不能只是(懶惰)使用$ * ..我怎麼能創建一個等於$ 2的字符串結束?

回答

1

$2一個字符串參數的末尾:

"${*:2}" 

這不同於"${@:2}",它串接的所有參數,與每一個之間的空間。一般情況下,任何形式都可能是你想要的(例如,如果你的文件的名字中有多個連續的空格)。

相關問題