私はいくつかの入力ファイルを持つスクリプトを持っています。これらは一般に標準の場所に保存され、スクリプトによって呼び出されます。bashのコマンドライン引数をデフォルトの変数に置き換えます。
ただし、入力を変更して実行する必要があることがあります。
私は現在3つの変数$ A $ Bと$ Cを持っていますが、今度はデフォルトでない$ Bで実行したいのですが、明日は非デフォルト$ Aと$ B 。
私は、コマンドライン引数を解析する方法で周りを見て持っていた:
How do I parse command line arguments in Bash?
しかし、私は、コマンドラインでいくつかのセットを持って対処する方法がわからないですが、時間の一部をaruguments?私は、しかし、私は解決策持って自分の質問に答えるために十分な担当者を持っていけない:私は明らかのように徹底的に私は思って検索していなかった
https://stackoverflow.com/a/4610469/2339623
#!/bin/bash
a=input1
b=input2
c=input3
while getopts "a:b:c:" flag
do
case $flag in
a) a=$OPTARG;;
b) b=$OPTARG;;
c) c=$OPTARG;;
esac
done
謝罪...
この目的で 'getopts'を使うことができます。多くのチュートリアルがありますが、http://aplawrence.com/Unix/getopts.htmlのようなものが最初に役立つことがあります。 – fedorqui
ありがとう、私はリンクされた質問でこれを見た。 コマンド引数に変数を上書きする標準的な方法があるかどうか疑問に思っていました。例えば、Pythonで関数を定義する場合、デフォルト値を設定することができます。 ifチェックではデフォルトをコマンドライン引数に置き換えることができますが、これを行う標準的な方法があるかどうかはわかりませんでしたか? – Lanrest