
No.2ベストアンサー
- 回答日時:
#1です。
なるほど。linuxにはevalが無いと思ったんですね。evalはシェルの組み込みコマンドなので、man sh か man bash です。
linuxとFreeBSDでお書きのものを実行して見ました。
・FreeBSDのsh →OK (log_1等の中身がセットされる)
・FreeBSDのbash → NG (log_1等の名前がセットされる)
・linuxのbash → NG (同上)
・linuxのsh → NG (同上)
OSの違いではなく、shとbashのシェルの違いですね。linuxではshは実はbashなので(ls -l `which sh` `which bash` でわかります)、同じ結果ですが。
` ` の中でevalを使うなら、$をクォートすることが必要です。
input_log=`eval echo '$'"$input_log"` または
input_log=`eval echo \\$"$input_log"`
でshでもbashでも上手く行きました。ただ、#1に書いた方法のようにevalは直接使うのが普通だと思います。
No.1
- 回答日時:
evalを使わないやり方の前に、まずこれ動かなくないですか?$log_1,$log_2,$log_3の値を順に参照するという配列相当のことをしたいんですよね?
eval input_log=\$log_$i
では?
evalを使用しないという制約の理由がわかりませんが、
echo echo \$log_$i > tmp.sh
input_log=`sh tmp.sh`
でしょうか。
スクリプトの意図が違う場合は補足ください。
この回答への補足
回答ありがとうございます。
>配列相当のことをしたいんですよね?
はい、そうです。
>eval input_log=\$log_$i
>では?
こちらの方がシンプルですね。試してみます。
>evalを使用しないという制約の理由がわかりませんが、
これはUNIX環境では、動作したのですが、RedHat環境では動きませんでした。(マニュアルでman evalで出てきませんでした。)
>echo echo \$log_$i > tmp.sh
>input_log=`sh tmp.sh`
>でしょうか。
こちらも試してみたいと思いますが、
tmp.shを作成しない方法はないでしょうか?
以上よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
auth.logが出力されない。
-
/etc/cron.daily/logrotateがエ...
-
ssl_request_logの必要性について
-
Aixのsyslogログローテーション...
-
PowerShell と Get-WinEvent
-
WindowsNTでチェックディスクの...
-
squid 起動できません
-
リモートデスクトップ接続でパ...
-
同一のホスト名で何か問題があ...
-
エクセルで#N/Aを含めた平均値...
-
DNSサーバを設定したのですがns...
-
Ubuntu(zorin os)でパスワード...
-
「DNSサーバーを自動的に取得す...
-
ドメインに参加しようとするとD...
-
notes のメールがループし送れ...
-
Debianでインターネット接続が...
-
”Tortoise SVN” と ”Subversio...
-
SFTPで仮想サーバに接続できません
-
mailでずっと送信中になってし...
-
gitとgiteaの違いについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ssl_request_logの必要性について
-
IEのイベントログをイベントビ...
-
イベントログ 「シェルが停止し...
-
loggerでmessagesに書き出す方法
-
システムイベントのMARKとは何...
-
expectを用いた正規表現[]のgre...
-
logrotateの再起動
-
suコマンドのログ
-
/etc/cron.daily/logrotateがエ...
-
reboot 実行時のログについて
-
syslogについて…
-
squid 起動できません
-
イベントビューアからの特定のe...
-
Solarisでのログ情報ファイル
-
syslogからログが出力されなく...
-
squidのフリーズ?についてです!
-
AIX上でのアカウント操作ログ
-
PowerShell と Get-WinEvent
-
WINDOWS NT システムログファイ...
-
ファイアウォールログが表示さ...
おすすめ情報