0

次のbashスクリプトがあります。ax^2 + bx + c を計算します。ご覧のとおり、a、b、および c を要求し、コマンド ライン引数として x を取得します。

echo "Enter a value for a: "
read a
echo "Enter a value for b: "
read b
echo "Enter a value for c: "
read c

echo Result is `expr $a \* $1 \* $1 + $b \* $1 + $c`.

exit

私が今やりたいことは、(上記のコードを変更せずに)コマンドラインでファイルからa、b、cの値を取得(オーバーライド)し(すべて1行にリストされた値)、スキップすることですスクリプトの実行時にそれらを要求します。

私は getopts がこの目的のための関数になると思っていましたが、それを使用する方法を理解できませんでした。それとも別のものですか?

ありがとう。

4

1 に答える 1

1

必要なファイルを作成できます。

1
2
3

それを呼び出すとparams.txt、あなたはします:

$ ./myScript 2 < params 
Enter a value for a: 
Enter a value for b: 
Enter a value for c: 
Result is 11.

そして、うまくいきます。

于 2012-11-25T19:19:19.183 に答える