[解決済み] 関数内で呼び出し元のコマンドライン引数にアクセスするには?
2022-03-05 17:40:09
質問
bashでスクリプトのコマンドライン引数にアクセスする関数を書こうとしていますが、引数は関数への位置引数に置き換えられています。コマンドライン引数が明示的に渡されない場合、関数がコマンドライン引数にアクセスする方法はあるのでしょうか?
# Demo function
function stuff {
echo $0 $*
}
# Echo's the name of the script, but no command line arguments
stuff
# Echo's everything I want, but trying to avoid
stuff $*
解決方法は?
私の読みでは Bashリファレンスマニュアル には、このようなものが含まれていると書かれています。 BASH_ARGV , スタックについてたくさん書かれていますが。
#!/bin/bash
shopt -s extdebug
function argv {
for a in ${BASH_ARGV[*]} ; do
echo -n "$a "
done
echo
}
function f {
echo f $1 $2 $3
echo -n f ; argv
}
function g {
echo g $1 $2 $3
echo -n g; argv
f
}
f boo bar baz
g goo gar gaz
保存先
f.sh
$ ./f.sh arg0 arg1 arg2
f boo bar baz
fbaz bar boo arg2 arg1 arg0
g goo gar gaz
ggaz gar goo arg2 arg1 arg0
f
fgaz gar goo arg2 arg1 arg0
関連
-
[解決済み] Bash/Terminalで複数行の環境変数を書き出す方法 例: RSA秘密鍵
-
[解決済み] bashスクリプトでfindコマンドを使用する
-
[解決済み] Bashスクリプトのソースディレクトリをスクリプト自体から取得するにはどうすればよいですか?
-
[解決済み] Node.jsのプログラムにコマンドライン引数を渡すにはどうしたらいいですか?
-
[解決済み] Bashでコマンドライン引数を解析するには?
-
[解決済み] Bashでコマンドの出力に変数を設定するにはどうすればよいですか?
-
[解決済み] Bash関数にパラメータを渡す
-
[解決済み] コマンドラインから .bash_profile を再読み込みする方法は?
-
[解決済み] コマンドライン引数の読み方・処理方法は?
-
[解決済み】rakeタスクにコマンドライン引数を渡す方法
最新
-
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のシンタックスエラー:予期しないファイルの終わり
-
[解決済み】 '\r': コマンドが見つかりません - .bashrc / .bash_profile [重複].
-
[解決済み] osx find exec rm find: exec: 不明な主またはオペレータ
-
[解決済み] curl: 引数リストが長すぎる
-
[解決済み] eval "$(docker-machine env default) "とする。
-
[解決済み] docker alpine /bin/sh script.sh not found
-
[解決済み] bashで::演算子は何をするのですか?
-
[解決済み] bash file returns unexpected token `$'dottpr''
-
[解決済み] 絶対パスと論理パスの違い