• ベストアンサー

echoの出力に関して

シェルが以下の順番で呼ばれる場合に、AとBのechoのみ出力して Cのechoは出力しないといった方法はありますでしょうか? (任意でechoの出力を抑制する方法) set echo off見たいなもの。 shellA->shellB->shellC 実は、なぜかShellCないのechoが出ないようになっているのですが 何故でないのか分からず困っています。

  • totmon
  • お礼率66% (213/319)

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

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4846/10257)
回答No.1

shellBの中で、 shellC >/dev/null してあるとか。それだとshellCの出力が全部出ませんが。shellCの外からechoの出力のみを選択的に止めることは出来ません。 shellCの先頭で、 echo () { : ; } のようにechoを再定義すればechoを無効化出来ますが。

totmon
質問者

お礼

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

関連するQ&A

  • phpのECHOが出力されない:wordpress

    A B C "text" というJSONデータのCを画面に出したい時、 echo $obj['A']['B']['C']; もしくは echo $obj->A->B->C; という文をphpの中に書き込んだのですが、 echo ”Halloworld”とかは出るのに、変数になると出ません。 ちなみにfunction.phpでショートコードから呼び出すファイルに記述しています。 何が間違っているのでしょうか。

    • 締切済み
    • PHP
  • BシェルのECHO_C

    Bシェルでよく使われているECHO_Cは何ですか? 様々な環境における標準出力への対応のものですか? echo \c による効果も教えてください。 以下はよくあるECHO_Cのソースです。 http://64.233.187.104/search?q=cache:0RdNFUznXWAJ:jbj.rapanden.dk/magicrescue/websvn/filedetails.php%3Frep%3D0%26path%3Dmagicrescue/trunk/configure%26rev%3D0%26sc%3D1+echo+testing+c&hl=ja&ie=UTF-8&inlang=ja

  • echoについて

    echoの使い方について教えてください。 echo ($author!='' ? "$author. " : '') PHPのリファレンスにあるechoの内容を見ましたが、上のような使い方については見当たりませんでした。 この記述は、どのように解釈したらいいんでしょうか? またこの記述方法で実行した場合、出力結果は同じになりますか? これと似た構文でC言語にもありますか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • echoの出力は標準エラー出力ですか?

    例えばsamp.cshのようなc-shellスクリプトを作成、 samp.csh | less のようにすると、echoの行が表示されないのに対して samp.csh |& less とすると表示されました。 echoは例によって色々なバージョンがありそうですが、man を見る限りechoの出力に関して特別な記述が有りません。 echo is a shell built-in /usr/local/bin/echo /bin/echo /usr/bin/echo /usr/ucb/echo echoコマンドはデフォルトで標準エラー出力なのでしょうか?これを標準出力にするオプションは無いのでしょうか?もしくはどのエコーを使うと解決するのでしょうか? --[samp.csh] #! /bin/csh -f foreach a ($aa) echo "$a" diff $work/$a $TRY1_CENTER/syn/ end システム Release: 5.7 Kernel architecture: sun4u Application architecture: sparc Kernel version: SunOS 5.7 Generic 106541-17 June 2001

  • echoの出力の最後のスペースを除去したい

    テキストファイルにechoで出力するバッチファイルを作成しています。 echo出力の最後にスペースが1つだけ余分に追加されてしまいます。 これを除去するにはどうしたらよいでしょうか。 例えば、以下の内容が記載されたバッチファイルを実行すると、 出力の最後に不要な半角スペースが追加されます。    set COMMAND=ping 192.168.0.1 -n 1    echo %COMMAND% >> out.txt

  • Cシェルスクリプトで二重引用符をechoする

    Cシェルスクリプトで二重引用符をecho するにはどうしたらよいのでしょうか(できるのでしょうか)? エスケープ 「 \" 」のようなエスケープではダメでした。 変数展開をしたいので、一重引用符「'」で括るのではない方法が好都合です。 「VAR is "okwave"」 という出力を得るための同等のスクリプト例(冗長?): #! /bin/csh -f set VAR = "okwave" echo -n "VAR is " echo -n '"' echo -n "$VAR" echo '"' 宜しくお願い致します。

  • cshのechoに関して

    どなたかご存知の方がいましたら、教えてください。 現在cシェルでJavaを実行するプログラムを組んでいます。 そこで、クラスパスを設定したいので以下のようにしています。 set class_home=/home/user/test set lib_home=${class_home}/lib echo ${class_home} echo ${lib_home} java -classpath .:${class_home}:${lib_home}/XXX.jar TestClass 2番目のechoで『/home/user/test/lib』が出ることを想定していますが、『/libe/user/test』と出てしまいます。 色々試しましたが解決策が見つかりません。 ご存知の方がいましたらよろしくお願いします。

  • CSV出力スクリプトについて

    CSV出力のスクリプトを作成しました。 単純に1つのテーブルをそのままCSVで出力するだけです。 件数は60万件程度です。 問題はたとえばKAIIN_NOの項目が桁数20桁の場合に出力されるCSVが20桁を超えて50桁くらいで出力されたりします。項目桁数と同じではなくてもよいのですが、空白を出力したくないです。 なにかよい方法はありますでしょうか? ※Select文でTrimをかけても効果はありませんでした。 --CSV出力 -- set line 100 -- set echo off コマンド表示を抑止する -- set termout off 画面出力を抑止する -- set heading off 列タイトルの表示を抑止する -- set feedback off 結果メッセージの表示を抑止する -- set colsep ',' 列と列の区切りをカンマ(,)にする set line 100 set echo off set termout off set heading off set feedback off set colsep ',' /* spoolコマンドでファイル出力を開始する */ spool C:\tmp\sample.csv /* 問い合わせ結果がファイルtest.csvに出力される */ SELECT KAIIN_NO, STS_NO, SYOHIN_NO FROM SAMPLE; /* spool offでファイル出力を終了する */ spool off

  • Cシェルで標準エラー出力への出力方法を教えてください。

    Cシェルにおいて、通常echo文は標準エラー出力へ表示されます。 echo文のように引数で指定した文字列を標準エラーとして出力するような コマンド?があったら教えてください。 c言語では fprintf(stderr,"test!\n"); などとやりますが、Cシェルではありますでしょうか?

  • "echo off"の動きをLinuxのシェルスクリプトで実現

    こんにちは。 現在、Linux(RHEL5)にてシェルスクリプトを組んでいるのですが、 質問があります。 以下のように"rpm -e"を組んで実行した場合、 パッケージB.rpmが存在しない場合、 画面に「エラー:パッケージBpacはインストールされていません」 と表示されてしまいます。 echo "****** Bpacの削除をしています ******" rpm -e Bpac 画面にエラーを表示させたくないのですが、 どのようにすれば良いのでしょうか? (Windowsのecho offのようなものはありませんか?) なお、出だしのecho文(Bpacの削除をしています)は表示させたいのです。 何か方法はないでしょうか? よろしくお願いします。