複数のパラメータをbashスクリプトに解析する

複数のパラメータをbashスクリプトに解析する

ここで公開されている解決策のいくつかを試しましたが、役に立たない。私はこれがあなたが簡単に見つけることができ、私が顔を手のひらで扱うことができる私が逃した愚かで明白な仕事であることを願っています。

データ分析のためのいくつかのコマンドを含むbashスクリプトがあります。コマンドラインからこのスクリプトを実行すると、次のように表示されます(単純化)。

./script.sh /path/to/file1.gz /path/to/file2.gz output_name

script.sh最初の2つのパラメータは、データ分析コマンドに必要なファイルのパスです。予想通り、output_name最後の出力ファイルの名前です。

これはうまくいきますが、それぞれが新しい行に複数のファイルパスを持つファイルを持ち、ファイルの各行を繰り返し、スクリプトを順番に実行したいと思います。したがって、パラメータファイルは次のようになります。

/path/to/file1.gz /path/to/file2.gz output_name1

すべての行に。

次に、whileループを介して各行をスクリプトに入力します(これが最高だと思います)。

私は試した:

while read -r line; do; ./script.sh; done < arg_list.txt

arg_list.txtが入力引数のリストを含むファイルの場合、「ファイルを開けません」というメッセージが表示されます。

私が愚かで何か落ちたと自由に言ってください!

ベストアンサー1

独自の構造を使用して、1行にスペースで区切られた3つの値を読み取り、それをスクリプトの引数として使用します。

while read -r in1 in2 out
do
    ./script.sh "$in1" "$in2" "$out"
done < arg_list.txt

おすすめ記事