1. ホーム
  2. bash

[解決済み] バッシュでデフォルト値を割り当てる

2022-03-07 16:45:37

質問

<ブロッククオート

パラメータ:=word}です。 デフォルト値を割り当てる。 パラメータが未設定またはNullの場合 の展開が代入されます。 パラメータを指定します。 パラメータの値は で代用する。 位置決め パラメータや特殊な パラメータは、この方法では割り当てられない。

この機能を利用して、次のように書こうと思いました。 ${LONG_VARIABLE_NAME:=hello} の代わりに、より長い LONG_VARIABLE_NAME=${LONG_VARIABLE_NAME:-hello} が、bashでも'hello'を実行しようとすると、command not foundとなる。これを回避する方法はありますか?それとも、後者にこだわるしかないのでしょうか?誰かassignのデフォルトが実際に役に立つような例をあげてくれませんか?

どのように解決するのですか?

コロンを使用する。

: ${A:=hello}

コロンは何もせず、引数を無視するヌルコマンドです。bashに組み込まれているので、新しいプロセスが作られることはありません。