シェルスクリプトは、コマンドプロンプトで実行されたかのようにコマンドを実行するだけです。シェルスクリプトを関数であるかのように実行できるようにしたいと思います…つまり、入力値または文字列をスクリプトに取り込みます。これを行うにはどうすればよいですか?
承認された回答:
シェルコマンドとそのコマンドの引数は、番号付きとして表示されます。 シェル変数: $ 0 scriptのようなコマンド自体の文字列値があります 、 ./ script 、 / home / user / bin / script または何でも。引数はすべて"$1"として表示されます 、 "$ 2" 、 "$ 3" 等々。引数の数はシェル変数"$#"にあります 。
これに対処する一般的な方法には、シェルコマンド getoptsが含まれます。 およびshift 。 getopts Cのgetopt()によく似ています ライブラリ関数。 シフトコード> $ 2の値を移動します $ 1へ 、 $ 3 $ 2へ 、 等々; $# デクリメントされます。コードは最終的に"$1"の値を調べます。 、 caseを使用して処理を行う …esac アクションを決定してから、 shift を実行します $ 1を移動するには 次の引数に。 $ 1を調べるだけです。 、そして多分 $# 。