我有腳本正在採取一個參數($ 1)。所以我像這樣運行它:bash script.sh file1.txt。但是當我想要替換更多的文件(bash script.sh *)時,他只從一個文件中獲取一個文件。我怎樣才能使它工作?應該有另一個腳本,將文件夾中的所有文件替換爲$ 1到script.sh或有更簡單的方法嗎?(Bash)如何將許多文件替換爲腳本?
#!/bin/bash
sed -i '/^$/d' [email protected]
declare -a command
while read -r line
do
[[ "$line" =~ ^secretcommand$ ]] || continue
read -r cmd || break
eval "$cmd"
break
done<"[email protected]"
它不適用「$ @」。
你能幫助我嗎?
在腳本中是否使用'「$ @」'完成你想要的? –
[如何迭代Bash腳本中的參數]可能的副本(http://stackoverflow.com/questions/255898/how-to-iterate-over-arguments-in-a-bash-script) – SLePort
您也可以使用'shift'。如果你的論點是A B C,那麼$ 1是「A」,$ 2是「B」等等。執行轉換後,「A」將消失,$ 1將變爲「B」等等。 – linuxfan