これら2つの変数置換構文を1つにまとめることはできますか?
rm "$s_a/$domain.conf" 2>/dev/null
rm "$s_e/$domain.conf" 2>/dev/null
良い:
rm "$s_{a,e}/$domain.conf" 2>/dev/null
答え1
あなたできるしかし、拡張を引用するときはそうではありません(二重引用符は文字通りの意味を維持するためです)。最大中かっこを含む「特殊文字」):
rm $s_{a,e}/$domain.conf
徐々に次に展開します。
rm $s_a/$domain.conf $s_e/$domain.conf
その後、その値に移動します。
二重引用符内に中括弧だけが残っているので、行は次のように拡張されます。
RM($s_の値){a,e}/($domainの値)構成ファイル
引用は、意図しない拡張、特に単語の分離やファイル名の拡張を防止します。設定を解除して単語分割の問題を解決し$IFS
、ファイル名拡張の問題を解決できます。set -f
組み合わせは次のとおりです。
oIFS=$IFS
IFS=
set -f
rm $s_{a,e}/$domain.conf 2>/dev/null
IFS=$oIFS
set +f