我在Bash shell腳本庫中有一個函數,它使用getopts來接受參數。我想在這些參數之一中指定一個Bash命令。然後該函數繼續使用這個存儲的命令來達到某種目的或另一個目的(例如,使用指定爲執行啓動程序的此存儲命令以自動方式生成GNOME桌面啓動程序)。我怎樣才能以一種用戶友好的方式保存命令中的特殊字符(並且,我的意思是,這種方式不需要用戶在指定的命令中轉義特殊字符或執行其他異常困難的操作)?在Bash getopts參數中保留特殊字符
所以,函數的開頭可能擁有一些諸如下列:
OPTIND=1; while getopts ":i:o:" options; do
case "${options}" in
i)
command_1="${OPTARG}"
;;
o)
fileName_1="${OPTARG}"
;;
\?)
echo "invalid option -"${OPTARG}""
return
;;
:)
echo "option -"${OPTARG}" requires an argument"
return
;;
esac
的命令被賦予作爲函數的參數可以是一些諸如下列:
echo "hello" | festival --tts