[解決済み] スペースで区切られた引数の受け渡し (bash) スクリプト
2022-12-19 12:09:24
質問
次のようなbashの2つのスクリプトを持っています。
a.sh:
#!/bin/bash
./b.sh 'My Argument'
b.sh:
#!/bin/bash
someApp $*
someAppのバイナリが受け取る
$*
を1つではなく2つの引数('My'と'Argument')として受け取ります。
いくつかテストしてみたのですが
-
someApp をスルーで実行する
b.sh
は期待通りに動作する -
の引数をイテレートしてエコーする。
b.sh
は期待通りに動作する -
使用方法
$@
の代わりに$*
であっても違いはありません。
どのように解決するのですか?
$*
のように、引用符で囲まれていない場合は、2つの単語に展開されます。あなたはそれを引用する必要があります。
someApp
が一つの引数を受け取るように引用する必要があります。
someApp "$*"
を使いたい場合があります。
$@
を使いたい場合もあるでしょうから、その場合は
someApp
を呼び出すと、2 つの引数を受け取ります。
b.sh
として
b.sh 'My first' 'My second'
とは
someApp "$*"
,
someApp
は単一の引数
My first My second
. とは
someApp "$@"
,
someApp
は二つの引数を受け取ることになります。
My first
と
My second
.
関連
-
[解決済み] Bashスクリプトで引数を反復処理する方法
-
[解決済み] Bashスクリプトのソースディレクトリをスクリプト自体から取得するにはどうすればよいですか?
-
[解決済み] Bashシェルスクリプトでディレクトリが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashスクリプトからプログラムが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashでコマンドライン引数を解析するには?
-
[解決済み] Bashシェルスクリプトの入力引数の存在確認
-
[解決済み] Bash関数にパラメータを渡す
-
[解決済み] bashシェルスクリプトの全引数を伝搬させる
-
[解決済み】Bashスクリプトに渡された引数の数を確認する
-
[解決済み] シェルスクリプトによるDockerコンテナ内でのスクリプトの実行
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Makefileでシェルコマンドを使用する方法
-
[解決済み] Bashでファイルを転置する効率的な方法
-
[解決済み] Docker: 実行中のDockerコンテナの停止と削除
-
[解決済み] Bashでファイル名を一括変更する
-
[解決済み] ファイルを分割する方法。重複
-
[解決済み] bash スクリプトで ENTER キー押下をシミュレートする
-
[解決済み] bashでスクリプトの中で宣言された変数をリストアップする方法は?
-
[解決済み] シェルのワイルドカード文字展開を停止しますか?
-
[解決済み] bashでsshがwhileループから抜け出す [重複] [重複
-
[解決済み] 環境変数の指定とエコーを同じコマンドラインで実行できないのはなぜですか?