cshでバッククオートコマンド結果を改行したい。


bashなら
echo "`cal`"
でカレンダー改行表示ですがcshではなりません

こういうのはbashでつくったほうがいいんでしょうか?
そういう周辺含め回答お願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 13歳以上
  • 登録:2010/09/01 17:43:15
  • 終了:2010/09/01 23:51:52

回答(1件)

id:LimgHT No.1

LimgHT回答回数30ベストアンサー獲得回数102010/09/01 19:43:58

ポイント60pt

今調べたら、cshでは、

引数文字列の中の改行コードを引数区切りと見なすことが分かりました。

例:echo "AAA\nBBB" は echo "AAA" "BBB" と等価。

注、"\n"は実際エスケープを使った入力ではなく、改行コードそのものです。

実際は、`printf "AAA\nBBB"`を使いました。


一方、bashが良いかというと、確かに良いシェルです。

ネット上での資料が豊富のは確かですので、勉強しやすいと思います。

ただ、Linuxの標準シェルですので、デフォルトで使ってる人が多いだけかと。

csh以外なら、何シェルでも大した違いはないかと思います。


ちなみに私の研究室では、対話はcsh、スクリプトはbashが主流です。

シェルに関して基本的に何も言われませんが、

cshでスクリプトを組むのだけやめとけって言われました。


理由は次の資料に書かれています。

謎な仕様が多く、直行性が悪いからスクリプトに向いてないみたいです。

『なぜ csh でプログラムを書くのが良くないのか』

http://www.speech-lab.org/hiroki/csh-whynot.euc


個人的には、対話モードでcshを普通に使う分は問題ありませんが、

凝ったことをやるときに、たまーにハマります。

cshをやめて、bashに統一しようとも何度も思いました。(面倒いから変えないけど)

id:MASHMASH

ありがとうございます。

Bashでいきます・・。

2010/09/01 20:13:11

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

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

トラックバック

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

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

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