2017-01-03 6 views
-1

私はbashスクリプトを持っていて、2番目のプログラムを開きます。テキストファイル上のスクリプト(プログラム名)を呼び出します

programname -parameter -parameter

しかし、プログラム名が異なる場合があります。このために、私は、このコマンドを使用していました。例えば、"program1","program2","programABC"。このプログラムの名前は 'config'というファイルに保存されており、ここで変更することができます(ここではパラメータを使用したくない、この設定ファイルが必要です)。例えば

私は「program2」を必要とするとき、私は私のスクリプト内のパラメータは常に同じではない

echo "program2" > config

を行う - 関係なく、私が使用しているプログラム。

私のスクリプトは、私の "config"ファイルから最初の行を取得し、2つのパラメータ(最初に与えられたコード)を添付する必要があります。

私は

cat config | -parameter -parameter

のようなものを試してみました。しかし、これは動作しません。

+0

'config'ファイルには実行するプログラム名しかありませんが、他の内容はありませんか? – Inian

答えて

2

を、あなたが必要なので、これはconfigファイルを実行することが唯一のプログラム名を持っている場合にのみ、動作します

"$(<config)" -parameter -parameter 

を試してみてください。

+0

これが解決策です。しかし、 'cat'とあなたの答えの違いはどこですか( '' $(cat config) '''で答えると以下のようになります)?私はこれが「欠落している」パイプのためにはるかに短く見えるが、私は他の利点を得ることができるか? – ipo

+0

@ipo:AFAIKは、ネイティブではないシェルツールを使用せず、組み込みの機能を使用するという点で、シェルの利用効率が優れています。おそらくCPUサイクルは少なくなりますが、この最小限のファイル入力ではわかりません。 – Inian

+0

申し訳ありませんが、ありがとうございます。 – ipo

1

私はお勧め:

useless-use-of-catを回避
"$(cat config)" -parameter -parameter 
+0

ありがとう、これも動作します。 – ipo

関連する問題