bashスクリプトにおいて、


コマンドを実行しながら、そのコマンドを画面に表示したいです。
具体的にいうと たとえば

echo "cp aaa.txt bbb.txt"
cp aaa.txt bbb.txt


echo $(cp aaa.txt bbb.txt)
みたいな感じで、実行しながらechoしたいです。
うまくいきません。教えてくださいませ。

回答の条件
  • URL必須
  • 1人3回まで
  • 13歳以上
  • 登録:2011/10/26 17:15:58
  • 終了:2011/10/27 11:31:46

ベストアンサー

id:a-kuma3 No.2

a-kuma3回答回数4605ベストアンサー獲得回数19432011/10/26 17:57:31

ポイント150pt

スクリプトの全部を、そのようしたいのであれば、スクリプトの先頭行に

#! /usr/bin/bash とか書いてあるところに、-x を書きます。

#! /usr/bin/bash -x

細かくコントロールしたいなら、スクリプトの中で set を使って、スイッチを on / off します。

#! /usr/bin/bash

echo a

set -x        # echo を on にする
echo b
set +x        # echo を off にする

echo c

上記を実行すると、以下のように表示されます。

a
+ echo b
b
+ set +x
c

以下、は bash のコマンドです。

http://www.linuxcertif.com/man/1/bash/ja/


もしかしたら、-x よりは、-v の方が欲しいものになるかもしれません。



(追記)

set -x とあんまり変わらんと思うんですが、こんなのでどうでしょうか?

#! /usr/bin/bash

echo_and_do () {
    echo "$1"
    eval "$1"
}


echo_and_do "echo a"
echo_and_do "echo b"
他2件のコメントを見る
id:a-kuma3

×:度の辺りが

○:どの辺りが

2011/10/26 20:02:17
id:central_dogma

これいいです! ありがとうございます~。

2011/10/27 11:31:13

その他の回答(1件)

id:nattow No.1

nattow回答回数102ベストアンサー獲得回数272011/10/26 17:25:09

ポイント50pt
c='cp aaa.txt bbb.txt';echo ${c} && ${c}

こんな感じですかね?

dummy url : http://q.hatena.ne.jp/

id:central_dogma

やはりそのような方法しかないんでしょうか。

2011/10/26 18:31:00
id:a-kuma3 No.2

a-kuma3回答回数4605ベストアンサー獲得回数19432011/10/26 17:57:31ここでベストアンサー

ポイント150pt

スクリプトの全部を、そのようしたいのであれば、スクリプトの先頭行に

#! /usr/bin/bash とか書いてあるところに、-x を書きます。

#! /usr/bin/bash -x

細かくコントロールしたいなら、スクリプトの中で set を使って、スイッチを on / off します。

#! /usr/bin/bash

echo a

set -x        # echo を on にする
echo b
set +x        # echo を off にする

echo c

上記を実行すると、以下のように表示されます。

a
+ echo b
b
+ set +x
c

以下、は bash のコマンドです。

http://www.linuxcertif.com/man/1/bash/ja/


もしかしたら、-x よりは、-v の方が欲しいものになるかもしれません。



(追記)

set -x とあんまり変わらんと思うんですが、こんなのでどうでしょうか?

#! /usr/bin/bash

echo_and_do () {
    echo "$1"
    eval "$1"
}


echo_and_do "echo a"
echo_and_do "echo b"
他2件のコメントを見る
id:a-kuma3

×:度の辺りが

○:どの辺りが

2011/10/26 20:02:17
id:central_dogma

これいいです! ありがとうございます~。

2011/10/27 11:31:13

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません