は私が背中合わせに二つ以上のコマンドを実行したいと思います。しかし、これらのコマンドはスクリプト内の変数に格納されています。たとえば、は、ksh93内に複数のコマンド実行のための評価、Solarisの
var="/usr/bin/ls ; pwd ; pooladm -d; pooladm -e"
この変数をスクリプトで実行すると問題が発生します。 は、私が行くとします
#!/bin/ksh -p
..
..
var="/usr/bin/ls ; pwd;pooladm -d; pooladm -e"
..
..
$var # DOES NOT WORK ..BUT WORKS WITH EVAL
それは動作しません。.. しかし、私はevalを使用した瞬間:
eval $var
それは見事に動作します。
はevalを使用せずに変数に格納されたコマンドの束を実行するための他の方法があるかどうか私は思っていました。私のコーディング標準がそれを受け入れるよりも、その使用を避けるように見えるので、
または、evalの使い方が悪いプログラミング手法を考えられています。私に知らせてください。
これは理想的ではありません。バッククォートは、後で処理するコマンドの出力をキャプチャするためのものです。 $ varのコマンドが標準出力に何かを書き込んだ場合、この解決法はその出力を捕捉し、それを放棄します。 – Kenster