• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:シェルの実行結果を画面出力したい)

シェルの実行結果を画面出力したい

このQ&Aのポイント
  • シェルの実行結果を画面出力する方法について教えてください。
  • 複数のコマンドを1行ずつ実行し、画面に表示する方法を教えてください。
  • 実行コマンドを1行ずつ表示しながら実行結果を画面に出力する方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • trapezium
  • ベストアンサー率62% (276/442)
回答No.4

> 行いたい事は、./script.sh command-file に近いですが./script.sh infileでinfileに書かれた複数行のコマンドを1行ずつ1秒のsleep間隔で実行したいと考えております。 そのスタイルでいいなら、既にそのような動作になってますので違いが分かりません。 ただ調整は必要かもしれません。例えば安全性を考慮して最初に IFS= しておくとか変数 i をもう少し別の名前にするとか、cat の替りに sed '/^[ \t]*$/d;/^[ \t]*#/d' 使うとか。 あとはこれらを叩き台にして適当に改変してください。

QA-Linux
質問者

お礼

ありがとうございました。

その他の回答 (3)

  • trapezium
  • ベストアンサー率62% (276/442)
回答No.3

>1秒間のwaitを持たせて最終行までループさせたいのですがそのようなことは可能でしょうか。 ループという用語は通常 for, while, until など指すのですが、例えば for i in a b c; do echo $i sleep 1 done みたいに。「ファイル内容」全体を繰り返したいのなら全体を for, while で囲う。 > 例えばこのように記載して1行ずつ処理したいと考えています。 それとも1行ごとに拘ってることからして script.sh は #!/bin/sh cat -- $@ | while read i; do echo $i eval $i sleep 1 done とでもしておいて、「ファイル内容」を保存したファイルを引数指定して ./script.sh command-file みたいなことをしたいのかもしれないとは思うけど、いかんせん情報が少い。

QA-Linux
質問者

補足

回答ありがとうございます。大変勉強になります。 情報が少なく申し訳有りませんでした。 行いたい事は、./script.sh command-file に近いですが./script.sh infileでinfileに書かれた複数行のコマンドを1行ずつ1秒のsleep間隔で実行したいと考えております。

  • h271015
  • ベストアンサー率71% (62/87)
回答No.2

> 1秒間のwaitを持たせて最終行までループさせたいのですがそのようなことは可能でしょうか。 以下のようなことを実現したいのであれば、各実行コマンドの後に sleep 1 を実行するようにすれば良いと思います。 ---------------------------------------------------------------------------- ファイル内容 ---------------------------------------------------------------------------- 実行コマンド1 (1秒待つ) 実行コマンド2 (1秒待つ) 実行コマンド3 (1秒待つ) 実行コマンド4 (1秒待つ) 実行コマンド5 ----------------------------------------------------------------------------

  • trapezium
  • ベストアンサー率62% (276/442)
回答No.1

Linux ということですからシェルスクリプトということですよね? 実際にどういう動作を期待してるのか不明ですが、sh -x script.sh とかじゃダメなのですか? ダメならもうすこし具体的に説明してもらえば、可能か不可能(難しそう)か誰が答えてくれるかもしれません。

QA-Linux
質問者

補足

ありがとうございます。 例えばこのように記載して1行ずつ処理したいと考えています。 sh -v script.shで1行ずつ実行することが出来ました。 1秒間のwaitを持たせて最終行までループさせたいのですがそのようなことは可能でしょうか。

関連するQ&A