Bash
使用儲存在變數中的命令行參數呼叫 Bash 腳本中的程序
是否可以在 Bash 腳本中呼叫一些程序,並將完整的命令行參數(鍵和值)儲存在變數中?
我在腳本中使用以下
scanimage
呼叫:scanimage -p --mode "True Gray" --resolution 150 -l 0 -t 0 -x 210 -y 297 --format=png -o scan.png
我想將一些參數儲存在變數中。我試過這個,關於
--mode
開關:options="--mode \"True Gray\"" scanimage -p $options --resolution 150 -l 0 -t 0 -x 210 -y 297 --format=png -o scan.png
但這不起作用,
scanimage
說:scanimage: setting of option --mode failed (Invalid argument)
僅儲存
--mode
開關的值確實有效:mode="True Gray" scanimage -p --mode "$mode" --resolution 150 -l 0 -t 0 -x 210 -y 297 --format=png -o scan.png
但我想改變開關,我也想定制多個開關,而不知道要設置哪個。
那麼是否可以不僅將命令行選項的值儲存在變數中,還可以將選項開關與值一起儲存?
如果您使用數組而不是字元串,則可以執行此操作。嘗試這個:
options=( '--mode' "True Gray" ) scanimage -p "${options[@]}" --resolution 150 -l 0 -t 0 -x 210 -y 297 --format=png -o scan.png