人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

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

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

●質問者: MASHMASH
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:bash csh echo カレンダー コマンド
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● LimgHT
●60ポイント

今調べたら、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に統一しようとも何度も思いました。(面倒いから変えないけど)

◎質問者からの返答

ありがとうございます。

Bashでいきます・・。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ