• ベストアンサー

cshでのリンクファイルの存在確認方法

HOGERA3の回答

  • HOGERA3
  • ベストアンサー率35% (50/139)
回答No.1

リンクファイルってシンボリックリンクのことですか? if ( -l *** ) then ... endif でいいと思います。

taurus4
質問者

補足

早速やってみたんですが、実行すると、 if: 数値形式が正しくありません。 というエラーがでて終わってしまいました。「-l」って言うオプションcshで使えるんですか? シンボリックリンクかどうかはよく分かりませんが。。。 ln -s で1つ上のディレクトリからリンクしてきているファイルです。

関連するQ&A

  • cshでファイルサイズ取得

    ヤマトです。 cshでファイルのサイズを取得したいのですが、分かりません。 環境はRed Had Linux7.2です。 hoge.txtのファイルサイズが0バイトの場合、処理を行うという事をやりたいのですが・・・ =======SAMPLE====== if ( hoge.txtのファイルサイズ = 0 ) then echo "サイズは0バイトです。" endif 教えて頂けると有り難く思います。宜しくお願いします。

  • cshの条件式について教えてください

    cshで該当ディレクトリにファイルがなければOK、あればエラーというような処理をしようと思っています。 しかし、下記のような記述ではうまくできません。 1) *************************** if ( -e $DIR/*.* ) then echo "NG" exit 1 else echo "OK" endif exit 0 *************************** if文でなく、外にだせばうまくいくのですが... 2) *************************** test -e $DIR/*.* if($status == 0) then echo "NG" exit 1 else echo "OK" endif exit 0 **************************** if ( test -e $DIR/*.* ) then... でもだめでした。 どうにかしてif文で一発判定をしたいと思っているのですが、正しい記述方法を教えてください。 よろしくお願いします。

  • UNIX ファイル存在チェックの方法

    お世話になります。 UNIXにてファイル存在チェックを行うShellスクリプトを作成しています。 ■プログラム if (-f "text_file_*.txt") then echo "存在している" else echo "存在していない" endif ■問題点 IF文中の比較対照ファイルとして、ワイルドカード(*)を 指定しているのですが、文字列として認識されてしまいます。 この方法でワイルドカードとして処理を実行する方法はあるでしょうか? もしくは代替案などありましたら、ご教示いただきたいです。 よろしくお願いします。

  • system関数で呼びだした、cshファイル周辺でのエラー

    2~3日前にも質問させていただいた、Perl初心者leeeeeeeeです。先日に引き続き、前の業者が作ったPerlプログラムを、新しいサーバ上で動くようにする作業を行っているのですが、まだエラーが出ており困っています。以下が問題の部分です。 ○○.cgi # 削除シェルの実行 $rtn = system"$rm_csh $tmp_file $limit_date $touch_file"; if($rtn != 0) {  # エラーログ出力  cm_errlog(__FILE__, "LOG013", ($rm_csh." ".$limit_date));  # エラーHTML出力  省略  # 異常終了  exit 1; } ここの、$rtnが、0になっていないようで、エラーページが表示されてしまいます。 ちなみに、$rm_csh は、tmpdel.cshというファイルで、以下が中身です。 ■ tmpdel.csh #!/usr/bin/csh set touch_fname = $3 set tmp_file = $1 touch -t $2 $touch_fname >& /dev/null set STS = $status if( $STS != 0) then exit 1 endif foreach file_name (`ls $tmp_file*`)  test $file_name -ot $touch_fname && rm $file_name >& /dev/null end exit 0 ■ tmpdel.csh の #!/usr/bin/csh という部分が気になって、#!/usr/bin/perlとか、 #!/bin/cshにもしてみましたが動きませんでした。 何が原因でエラーが出ているのかが分かりません。 宜しくお願いします。

  • cshが詳しい方は教えてください

    cshが詳しい方は教えてください cshで、ソラリスOS上にtmp.outってのファイルを行ずつに読み込みしたいんですが foreach f_list("`cat tmp.out`") echo "${f_list}" end tmp.outの内容は以下です。 test3 if ( 0==mencmp("H",HOSTN,10) { test345 testddd … 2行目の最後"{"っての文字があれば、実行すると、うまくいけませんが。 『}が足りません。』ってのエラーになっちゃう、 "{"がcsh中で、特殊の文字と思ってますが、cshが詳しいかは対処方法を教えてくれませんか 以上です。よろしくお願いいたします。

  • cshで変数に値が入っているかどうか見る方法

    Cシェルです。 set TEXT = `ls *text` if ( $TEXT == "" ) then endif 上のようにすると、TEXTの中に複数入っている場合 if: 条件式構文が正しくありません と、エラーが出てしまいます。 textという拡張子のファイルが無かった場合、なにか 処理をさせるというような場合には ほかに方法ないでしょうか?

  • リモートのファイル存在確認

    標題の通り、 リモートファイルのファイルの存在チェックをしようと思っているのですが、 シェルに詳しくないのでご教授願いないでしょうか。 通常の同サーバ内では下記のように出来るかと思いますが、 それをssh で別サーバ内のファイル存在チェックをしたいです。 if [ -e /usr/test/test.txt ]; then echo "存在" fi 宜しくお願い致します。

  • cshのエラー、どういうこと?

    シェルスクリプトはまったくの初心者です。 書籍についてきたCDに入っていたシェルスクリプトを実行させようとすると、次のエラーが出ます。 'nkown option: `- Usage: csh [ -bcdefilmnqstvVxX ][ agument ...]. そのスクリプトの出だしはこんな感じです。 #! /bin/csh -f if ($2 == "") goto nosize if ($2 == "n") catsiz n d $2 $1 if ($2 == "n") catsiz n d $2 sfstor if ($2 == "s") catsiz s d $2 $1 if ($2 == "s") catsiz s d $2 sfstor ・ ・ web上の入門サイトなどにあるのを参考に #! /bin/csh -f echo "you typed $1." というようなのを作ってみたら、これはちゃんと動きます。 パスの設定等にも問題はないと思っているのですが… どなたかこのエラーを回避する方法を教えてください。

  • CSHが使えない REDHAT

    先日REDHATLINUXを購入した。バージョンは5のENTERPRISE版である。早速自作のCSHをファイルを実行しようとしたがコマンドが無いと言われる。あれれ、おかしいな、/bin/cshが存在しないぞ・・・・・・。 REDHATはCSHをサポートしないのでしょうか?それともINSTALLする時のPACKAGE選択に問題があったのでしょうか?

  • ファイルの存在を調べるコマンドってあります?

    あるファイルが存在したら1を返しなかったら0を返すみたいな、ファイルの存在を調べるコマンドってありますか?(csh) (OSはSorarisです)