• 締切済み

cshでエラー出力を出さないようにしたい

set AAA = `ls *.aaa` とした時に、aaaと名のつくファイルが無かったら、 ls: No match. 一致しません。 となってしまうんですが、これを出力させないようにするにはどうすばいいでしょうか?

みんなの回答

noname#41381
noname#41381
回答No.2

#1補足より >(ls *.aaa > /dev/console) >& /dev/null >だけ実行すると、何も出力されませんし、 > コンソール上から実行していないとか。 telnet接続なら /dev/tty とかはどうでしょうか?

全文を見る
すると、全ての回答が全文表示されます。
  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.1

>ls: No match. これはエラーメッセージなので、エラー出力です。 標準出力を/dev/consoleに、エラー出力を/dev/nullに切り捨ててみてはいかがでしょう? set AAA=`(ls *.aaa > /dev/console) >& /dev/null`

taurus4
質問者

お礼

やってみたんですが、AAAに何も値が入りませんでした。 実際、 (ls *.aaa > /dev/console) >& /dev/null だけ実行すると、何も出力されませんでしたし、やり方が悪いのでしょうか?

taurus4
質問者

補足

やってみたんですが、これだとAAAに何も値が入らないのですが、 実際 (ls *.aaa > /dev/console) >& /dev/null だけ実行すると、何も出力されませんし、 どうすればいいでしょう?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • cshの標準出力を制御したい

    実は以下にも同じ質問があったのですが、回答がついてなかったので改めて質問させて頂きます。 cshで以下の様な形で"ls"の結果をシェル変数に取りたいのですが: set list = `ls *.s | sed -n 's/\.s//p'` lsの結果がマッチしなかったときに出力されるメッセージ: ls: 照合パターンに合いません. がコンソールに出力されると誤解を招くのでそれをやめさせたいのですが、何か良い方法はないでしょうか? 色々試しましたが簡単な方法は無い様な気がしています。 [コマンド] set list = `ls *.s | sed -n 's/\.s//p'` [例] (1) OKケース %>ls *.s aaa.s bbb.s 結果==> aaa bbb (2) NGケース %> ls *s ls: 照合パターンに合いません. [とりあえずやりたい事を実現する方法] ls *.s >& /dev/null if($status == 0) then # ls is matched set list = `ls *.s | sed -n 's/\.s//p'` endif ※ 冗長でかつ処理速度が遅いという問題があろうかと思います。 [以前の質問] http://www.okweb.ne.jp/kotaeru.php3?q=825419 以上宜しくお願いいたします。

  • popen使用時のエラー出力を出さないようにしたい (Solaris C言語)

    AAA/a というファイルがなかった場合 (1)poepn("ls AAA/a", "r" ); (2)poepn("ls AAA*/a", "r" ); を実行した時のそれぞれの出力メッセージは (1)AAA/a: ファイルもディレクトリもありません。 (2)/bin/ls: No match. となります。そこで、2> /dev/null を付け足して実行すると、(1)のエラーメッセージは消えるんですが、(2)の場合のエラーメッセージは出てしまいます。 (1)の場合も(2)の場合もエラーメッセージを出さないようにする方法ってありますか?

  • UTF-8と標準エラー出力について

    LC_ALL=ja_JP.UTF-8 LANG=ja_JP.UTF-8 上記環境変数において # ls aaa ls: aaa: そのようなファイルやディレクトリはありません # man aaa aaa 、ホ・????奢・・??「、熙゛、サ、」 のように、lsのエラー結果はUTF-8で表示されているのですが、manのエラー結果はEUC-JPで表示されています。 これらの違いは、コマンド固有の問題なのでしょうか。 また、何か解決する方法はあるのでしょうか? 以上、よろしくお願いします。

  • 同じ列に2行づつで出力するSQL

    次のようなテーブルがあったとき no | name 1 | aaa 3 | bbb 4 | ccc 6 | ddd (先頭はカラム名です) 以下のように出力するSQLは書けますでしょうか? no1| name1 | no2| name2 1 | aaa | 3 | bbb 4 | ccc | 6 | ddd

  • SQL 条件下の任意文字出力について

    お世話になります。 SQLで特定条件の時に任意の文字列を出力したいです。 表1 NO PRICE ___ ___  1   100 2   200 3   300 NOが1のとき、列名を「CODE」として"aaa" NOが2のとき、列名を「CODE」として"bbb" NOが3のとき、列名を「CODE」として"ccc" 出力結果 NO CODE ___ ___  1   aaa 2   bbb 3   ccc こんな感じの結果を得たいです。 どうぞよろしくお願いいたします。

  • cshで変数名の入れ子ができない

    こんなことをしたいと考えています。 --------------------- set aaa="bbb" set bbb="ccc" echo $aaa echo $bbb echo $($aaa) --------------------- 期待する実行結果としては、 --------------------- bbb ccc ccc --------------------- という感じです。 エラーになってしまうのですが、何かいい逃げ方はありませんか? cshでなくてshでも構いません。 よろしくお願いします。

  • ハッシュを使った集計結果の出力について

    ハッシュを使った集計結果の出力について testフォルダに以下のファイルがあるとします。  aaa_1、aaa_2、bbb_1、bbb_2、ccc_1、・・・ 各ファイルには○△×がついた行があり、 「aaa」のファイル(aaa_1とaaa_2)の○△×の数、「bbb」のファイルの○△×の数、を集計したいと思っています。 出力イメージは以下です。  ファイル名の一部,○の数,△の数,×の数  aaa,13,59,37 ファイル名の一部をキーとして、 ○△×の回数を値にしたハッシュで集計しようとしましたが、 以下のようになってしまいました。 ,0,0,0 ,0,0,0,0,0,0 aaa,13,59,0 aaa,13,59,0,13,59,37 bbb,20,10,0 bbb,20,10,0,20,10,30 ハッシュが十分に分かっていないので、おかしなことをしてるのだと思うのですが。。 ご教授くださいますよう、お願いします。 opendir(DIR, $dir); while ($file = readdir(DIR)){  $maru =0;  $san =0;  $batu =0;  $file =~/(.*)_(.*)/;  $name = $1;  open(IN, "$dir/$file");   while ( $line = <FIN1> )   {    chomp( $line );    if($line =~/○/){      $maru++;    }elsif($line =~/△/){      $san++;    }elsif($line =~/×/){      $batu++;    }  } push(@{$test{$name}} , $maru,$san,$batu); @gyou = ( $name , join ("," , @{$test{$name}})) ; print OUT join (",", @gyou). "\n"; } close (IN); close (OUT);

    • ベストアンサー
    • Perl
  • nslookupでlsの結果をファイルに出力

    Solaris8を使用しています。 nslookupでlsの結果をファイルに出力したい場合、例えば % nslookup > ls -d ドメイン名 > 出力ファイル名 とすればいいのはわかりますが、これをシェルで自動化しようと思うとうまくいきません。 シェルスクリプト内に、 --------------------------------------------- nslookup ls -d ドメイン名 > 出力ファイル名 exit --------------------------------------------- または、 --------------------------------------------- nslookup > 出力ファイル名 ls -d ドメイン名 exit --------------------------------------------- としてもうまくいきません。 または対話形式ではなく、nslookupに引数を渡してlsの結果を得ることが可能であれば何とかなると思うのですが・・ もしご存知の方がいらっしゃいましたらご教授お願いします。

  • コマンドプロンプト(batファイル)のFORコマンド

    set aaa1=あああ set aaa2=いいい set aaa3=あいう set aaa4=かきく mkdir %aaa1% mkdir %aaa2% mkdir %aaa3% mkdir %aaa4% 上記のbatファイルをforコマンド(繰り返し処理)を使用してやってみたいです。 下記のbatファイルをつくってみたのですが、うまくいきません。 set aaa1=あああ set aaa2=いいい set aaa3=あいう set aaa4=かきく for /L %%B in (1,1,4) do mkdir %aaa%%B% pause %aaa%%B%のところが %aaa1%=>あああ や %aaa2%=>いいい になると思ったのですが... 文字列とforコマンドでの変数を組み合わせて、 DO処理側の変数として使うことはできないのでしょうか? 変な質問かとは思いますが、ご教授お願い致します。

  • path_infoのよる静的出力に関して。

    こんにちは、 どうすれば、よいか困っております。 $a = "aaa.php?id=$b_id"; 現在上記の状態を、下記のように 出力したいのですが、 ttp://www.aaa/aaa.php?id=1        ↓ ttp://www.aaa/aaa-1.htm modrewriteだとうまくいかないので、 path_infoを使うと出来るみたいですが、どうすればよいでしょうか?

    • 締切済み
    • PHP