2009年09月28日

shやtcshでファイルのフラグ立てをしてみる。

シェル言語でのファイルチェックは
shでもcshでも「-e」 を使うらしい。
無い場合は「!」
ディレクトリーに絞るならば「-d」ファイルならば「-f」

例えば 「~/tmp/up」というディレクトリーをフラグにした場合

if [ ! -e ~/tmp/up ]; then
mkdir ~/tmp/up
doo=create
#
else
doo=exist
#
fi
echo $doo

のようにかけばいいようだ。

cshやtcshの場合

set DIR1 = "~/tmp/up"
if (! -e $DIR1) then
set doo=create
else
set doo=exist
endif
echo $doo

となる。

なんでcsh系と思うかもしれないが
FreeBSDの場合sh系を対話シェルにするとIMEで日本語入力ができないので
ちょっとしたファイル検索をターミナルからしようとすると不便だからだ。

そしてlogin時にいろいろやりたい場合は
.loginでかくなり
「$TERM」で判別する等を.cshrcで行う等すると都合が良い。

実際X上でxterm等のコンソールプログラムを実行する時も
対話シェルがtcshならば.cshrcを実行する。
以下はxtermとjfbtermとその他をわけたもの


switch ( $TERM )
case xterm*:
#echo "hello xterm"
breaksw
case jfbterm*:
echo "jfbterm だ。"
echo ""
echo "今から FreeBSD 8.0をインストールするけどいいよね、"
echo "はい(Y) いいえ(N)"
set ques = $<
if ( $ques == "n" || $ques == "N" ) then
sleep 1
echo "答えは聞いてない。"
endif
breaksw
default:
echo $TERM
breaksw
endsw
ラベル:SH tcsh .cshrc
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。