[解決済み】Bashでコマンドライン引数を配列に変換する。
2022-04-13 18:13:38
質問
コマンドライン引数をbashスクリプトの配列に変換するには?
これを受けたいのですが。
./something.sh arg1 arg2 arg3
に変換し、それを
myArray=( arg1 arg2 arg3 )
で、スクリプトの中でさらにmyArrayを使えるようにします。
この前のSOの記事が近いですが、配列の作り方まで踏み込んでませんね。 Bashでコマンドライン引数をパースするには?
私は引数を通常のbashスクリプトの配列に変換する必要があります。私は他の言語(例えばPython)を使用することができることを理解していますが、bashでこれを行う必要があります。私は"append"関数または類似の何かを探していると思います?
UPDATE:私はまた、ゼロ引数をチェックし、デフォルトの配列値を割り当てる方法を尋ねたかったのですが、以下の回答のおかげで、これを動作させることができました。
if [ "$#" -eq 0 ]; then
myArray=( defaultarg1 defaultarg2 )
else
myArray=( "$@" )
fi
解決方法は?
実は、コマンドラインの引数は
実質的に
はすでに配列のようなものです。少なくとも
$@
変数を配列のように使うことができます。つまり、このように実際の配列に変換することができるのです。
myArray=( "$@" )
引数を入力して、それを
$@
値を使用します。
set
:
$ set -- apple banana "kiwi fruit"
$ echo "$#"
3
$ echo "$@"
apple banana kiwi fruit
引数構造の使い方を理解することは、配列のようなものが他にないPOSIXのshでは特に有効です。
関連
-
[解決済み] 配列に特定のインデックスで項目を挿入する方法 (JavaScript)
-
[解決済み] シェルで、「2>&1」はどういう意味ですか?
-
[解決済み] Bashでコマンドライン引数を解析するには?
-
[解決済み] Bashでコマンドの出力に変数を設定するにはどうすればよいですか?
-
[解決済み] Bashで文字列の配列をループする?
-
[解決済み] Bashで文字列を小文字に変換する方法は?
-
[解決済み] コマンドラインから .bash_profile を再読み込みする方法は?
-
[解決済み] Bashで文字列を配列に分割する方法は?
-
[解決済み】bashで1つのコマンドでシェル変数にデフォルト値を割り当てる。
-
[解決済み] Swiftの辞書です。値を配列として取得する
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Bashでコマンドライン引数を解析するには?
-
[解決済み] Swiftでindexとelementでループを反復させる方法
-
[解決済み] Swift カスタムオブジェクトの配列をプロパティ値でソートする方法
-
[解決済み] 配列からランダムに要素を選ぶ
-
[解決済み] PowerShellで配列のすべてのオブジェクトの1つのプロパティの値を選択する
-
[解決済み] Bash配列から要素を削除する
-
[解決済み] Luaの配列(テーブル)はなぜ0ではなく1から始まるのですか?
-
[解決済み] groovyの配列/ハッシュ/コレクション/リストに要素があるかどうかをチェックするには?
-
[解決済み] Swiftの配列から最小値・最大値を求める
-
[解決済み] SwiftのJSONDecodeで配列のデコードに失敗する(単一要素のデコードに失敗した場合