2011-06-22 25 views
2

私はSolarisで作業しており、無効なサービスを有効にするスクリプトを作成中です。ここで 出力ファイルです:nawkおよびシステムコマンドについて

disabled  7:22:05 svc:/network/bla-bla:default 
online   Jun_14 svc:/network/blu-blu:default 

私はこれを解析し、ここで、それ自体nawkの

を使用して無効に1をオンにする私のコードをしたいと思い、私が何らかの理由で動作しないことを試みているものです:ここ

cat output | nawk '/disabled/ {system(svcadm enable $3)}' 

は、それが与える出力されます。

**sh: line 1: svc:/network/bla-bla:default: not found** 

私はcat output |grep bl*に必要な出力は次のようになります。

online  7:22:05 svc:/network/bla-bla:default 
online   Jun_14 svc:/network/blu-blu:default 

これが起こると、このnawkの仕事を作る方法を、なぜ誰も私に説明できます。私が欲しいのは、

svcadm enable svc:/network/bla-bla:default 

です。

答えて

1

svcadmは値を持たない変数名として扱っているためです。

nawk '{system("svcadm enable " $3)}' 

を試してみてください(申し訳ありませんが、私はnawkのプログラムとしてあることを意味し - 今すぐ修正。)

+0

それは動作しません。まだ...それが今エラー「SHスロー:行1:0:見つかりません" – tomkaith13

+0

私はそれを得た!プラスはシェルスクリプトの文字列連結子ではないので、問題でした....ありがとうございました。もしあなたが答えを修正することができたら、私は先に進んで行くでしょう。 – tomkaith13

+1

あなたのために修正しました –

関連する問題