getopts を使用して引数を受け入れる Bash シェル スクリプト ライブラリに関数があります。これらの引数のいずれかに Bash コマンドを指定したいと考えています。次に関数は、この保存されたコマンドを何らかの目的で使用します (たとえば、ランチャーの実行として指定されたこの保存されたコマンドを使用して、自動化された方法で GNOME デスクトップ ランチャーを生成します)。ユーザーフレンドリーな方法でコマンド内の特殊文字を保持するにはどうすればよいですか (つまり、ユーザーが指定されたコマンド内の特殊文字をエスケープしたり、異常に困難なことをしたりする必要がないという意味です)。
そのため、関数の冒頭には、次のような特徴があります。
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