No.3ベストアンサー
- 回答日時:
ご質問のような使い方を想定したコマンドに resize(1) があります。
https://www.x.org/archive//X11R6.8.2/doc/resize. …
これは
eval `resize`
等として使うことを想定してます。
そのまま実行すると、例えば次のように出力されます。
COLUMNS=92;
LINES=48;
export COLUMNS LINES;
バッククオートで、改行が空白になっても、 セミコロンがあるので、
COLUMNS=92; LINES=48; export COLUMNS LINES;
と、改行有りのときと同じコマンドを実行することになります。
あなたのスクリプトも同様にセミコロンを付けて出力するとか、 sed等で行末にセミコロンを追加するとかするのはどうでしょうか?
# なお、コメントはセミコロンも無効にしてしまうので、出力しないようにするか、sed等で取り除いておくのがよいでしょう
お礼が遅くなり申し訳ありません。
改行をセミコロンに置き換えてしまえば、一行ごとに解釈の必要はそもそもない。という発想には気づきませんでした。すでにreadで一行づつ読み込んでevalするという実装をしてしまいましたが、こちらのほうがスマートそうです。
改行とセミコロンの置き換えもbashなら外部コマンド使わずに完結できそうですね。
No.2
- 回答日時:
ばっくくぉーとってつかえる?
やって出来ないことはなさそうですね。
テストしてみました。
bash-3.2$ COMMAND=`echo "ls -l"`
bash-3.2$ $COMMAND
total 8
-rwxr-xr-x 1 dbc staff 768 8 23 11:49 edit-log.sh
bash-3.2$
エスケープとかややこしくなりそうなので、もっと直接的にできる方法があればと思いますが。
No.1
- 回答日時:
eval
ありがとうございます。
STDINから一行ずつ読んでevalに食わせる感じですかね。
もっとシンプルな方法(改行ごと一気に食べさせる方法)がないかとも思いましたが、
この方法で行きたいと思います。
以下テスト
bash-3.2$ COMMAND=`echo 'PARAM="VALUE"'`
bash-3.2$ echo $COMMAND
PARAM="VALUE"
bash-3.2$ eval "$COMMAND"
bash-3.2$ echo $PARAM
VALUE
bash-3.2$
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
UNIX コマンドにおける # や円...
-
Excel下部のメニューが消えた
-
Linuxコマンドは何の言語で書か...
-
SCコマンドでアクセス拒否
-
[バッチファイル]レジストリ値...
-
shutdownコマンドをキャンセル...
-
Linux:sedコマンドで置換がし...
-
DOSコマンドについて
-
クイックアクセスツールバーに...
-
AIXでの文字コード、改行コード...
-
vbaで「最前面に」とする方法は?
-
gemコマンド yumコマンド
-
compressコマンドってなくなっ...
-
Solarisでiノード数を確認する...
-
ディスク上のサイズを確認する方法
-
jsLinuxのコマンドについて。 a...
-
Solarisでshutdownコマンド使え...
-
bat ファイル名変換
-
コマンドプロンプトにおけるコ...
-
lsコマンド、manコマンド、同発...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UNIX コマンドにおける # や円...
-
shutdownコマンドをキャンセル...
-
SCコマンドでアクセス拒否
-
アクセスのボタンから指定のワ...
-
AIXでの文字コード、改行コード...
-
[バッチファイル]レジストリ値...
-
Excel下部のメニューが消えた
-
「環境変数名の編集」ウィンド...
-
Linuxコマンドは何の言語で書か...
-
vbaで「最前面に」とする方法は?
-
Ctrl+Zで戻りすぎた場合、逆に...
-
ワイルドカードを使ってでフォ...
-
compressコマンドってなくなっ...
-
コマンドプロンプトにおけるコ...
-
コマンド履歴が~/.bash_history...
-
Linux:sedコマンドで置換がし...
-
VBAを使って電源を切るには?
-
echo $!の意味を教えてください
-
setxコマンドが思い通りにいかない
-
DOSコマンドについて
おすすめ情報