問題タブ [parameter-expansion]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
510 参照

bash - Bash expr コマンド

たとえば、名前と値のペアをテキスト ファイルに追加できる bash シェル スクリプトを作成しようとしていますTEST=true。たとえば、ユーザーが既に存在する名前を追加しようとすると、TEST=falseそれを実行できないようにしようとしています。exprコマンドを使用して文字の前のテキストを抽出する方法を誰か教えてもらえます=か? どんな助けでも大歓迎です。

ありがとう

0 投票する
4 に答える
156065 参照

shell - 変数に格納されたコマンドを実行するにはどうすればよいですか?

変数に格納されたコマンドを呼び出す正しい方法は何ですか?

1と2の違いはありますか?

0 投票する
2 に答える
283 参照

bash - bash でブレース展開とパラメーター展開を組み合わせることはできません

ブレース展開で $1 $2 $3 をエコーし​​たい。しかし、うまくいきません。

展開の順序は、ブレース展開、チルダ展開、パラメーター、変数と算術展開、およびコマンド置換 (左から右に行われる)、単語分割、およびパス名展開です。

bash のマニュアルによると、ブレース展開はパラメーター展開の前に実行されます。

${1..3}したがって、bash は最初にブレース展開を実行し、それを に変換してからecho $1 $2 $3、パラメーター展開を実行する必要があると思います。

しかし、実際のところ、bash は不適切${1..3}な代用として不平を言っています。何故ですか?

PS: 皆さん、ありがとうございました!すべての回答は素晴らしいものです.しかし、私は思う

Ignacio Vazquez-Abrams の答えは、私が望むものに近いものです。

0 投票する
2 に答える
144 参照

bash - 「/」を使用した bash 変数の展開

while read 行ループの中に、この変数の展開が表示されます${line/device name:}。自分の入力ファイルでスクリプトを実行しようとしましたが、行が出力されるだけです。

その展開が何をしているのか教えてもらえますか?

0 投票する
1 に答える
56 参照

bash - この「bash」シェルコマンドを理解する方法

コマンドは次のとおりです。

個別に実行し[ -d $x ] && echo $x、ディレクトリ名を出力するだけです。とは${1:-.*}どういう意味ですか?

0 投票する
1 に答える
480 参照

bash - Bash: {} を使用してファイル名拡張子を置き換える

ここに示すように、パラメーター展開を使用した bash ファイル名の置換をテストしています: Linux シェル スクリプトでファイル拡張子を変更する方法は?

ただし、次のことを意図したとおりに機能させることができないようです。

次のファイルを指定します。

出力をテストするためのコマンドを実行するfindためにflacファイルをparallel実行します。echoに置き換えようとして.flac.mp3ます。

私の出力は次のとおりです。

ffmpegそれが違いを生むなら、私はこれを使用する予定です。

編集:期待される出力:

編集 2: ファイル拡張子を置き換えるには、次を使用できます。

ただし、これにより次の出力が得られます

\スペース文字の代わりに文字がある場合、ffmpeg はファイルを見つけることができないため、これは現在 ffmpeg の質問である可能性があります。

0 投票する
1 に答える
70 参照

bash - ファイル名の一部を取得

num23.txt1 つの bash 変数のみを使用して、ファイルの番号を取得しようとします。

%and/演算子のみを使用しようとしています。最後のコマンドを出力のみとして取得するように変更するにはどうすればよい23ですか?

0 投票する
2 に答える
118 参照

bash - ブレース展開 (範囲) にパラメーター展開を適用する方法は?

ブレース展開( ) からスペースを削除するために、パラメーター展開(検索と置換など)を適用したいと考えています。可能です?{a..z}

だから私は次の範囲を持っています:{a..z}すべての文字で構成され、一度にスペースを削除したいと思います。

より長い例を次に示します。

パラメータ展開を範囲に直接適用することはできますか? または、特にこれを変数に割り当てずに、少なくとも1つの式で作成するには?


使用例の 1 つは、すべてのパラメータを動的に指定することgetoptsです。次に例を示します。

./az.sh -a -b -cただし、その範囲のスペースを最初に削除する必要があるため、これは機能しません (たとえば)。