0

どうやって実行するのですか

c=bin\jlogin -c "exit" $value |grep "Error" >>test  in bash 

戻り値をc変数に格納したい。$value には、以前に解析されたデータが含まれています。完全な文字列をコマンドとして実行したいのですが、シェルを実行するとエラーが発生します

=bin\jlogin command not found.

何が起こっているのか、どうすれば解決できるのか、私を助けてください!Googleで検索しましたが、ユーザー定義変数のような複雑な結果は表示されません 事前に感謝

4

2 に答える 2

1

ここで何\jを意味するのかわかりませんが、探しているのはバックティック演算子だと思います:

c=`((bin/jlogin -c "exit" $value ; echo $? >&3) | grep "Error" >> test) 3>&1)`

これにより、jlogin の終了値がハンドル 3 にリダイレクトされ、それが にコピーされる STDOUT にリダイレクトされ$cます。

于 2012-09-18T15:49:34.010 に答える
1

これはあなたがやろうとしていることですか?:

/bin/jlogin -c exit "$value" | grep Error >>test
c=$?

これにより、コマンドが実行され、/bin/jlogin -c exit "$value"その出力が にパイプされgrep Error >>testます。文字列が見つかった場合はに設定さ$cれ、見つからなかった場合は に設定されます。0Error1

于 2012-09-18T15:50:15.537 に答える