Bashの他のコマンドから変数に値を割り当てる

Bashの他のコマンドから変数に値を割り当てる

SUFFIX変数が/ dev / fd / [fd]を保持するようにbashでこれを行います。

SUFFIX=<( echo "&*645\[]}#@name" | sed -r 's/[^[:alnum:]]+/_/g' )

括弧の間に実行されたコマンドの実際の結果をどのように割り当てる必要がありますか?したがって、この場合、SUFFIXに値を割り当てる必要がありますか_645_name

ベストアンサー1

次の構文を使用しました。プロセスの交換, あるコマンドの出力を別のコマンドの入力に渡します。しかし、あなたが望むものコマンドの置き換え、コマンドの出力を文字列として取得します。コマンド置換を使用してください$(…)

SUFFIX=$( echo "&*645\[]}#@name" | sed -r 's/[^[:alnum:]]+/_/g' )

bashを使用している場合は、独自の組み込み構造を使用してこれを実行できます。クリーンアップしたいテキストが変数にある場合foo

shopt -s extglob
SUFFIX=${foo//+([^[:alnum:]])/_}

おすすめ記事