• 締切済み

Bシェルのif文

utf7の回答

  • utf7
  • ベストアンサー率29% (11/37)
回答No.3

#1です。 参考URLに変な文字列を入れてしまいました。

関連するQ&A

  • if文について

    cshで書いています。 if文がとおりません。。。 0: Event not found. このようなメッセージが出力されます。 if ($flg == "xxx") then echo "aaa" else if($flg == "yyy") then echo "bbb" exit else echo "ccc" exit endif 内容は上記のような感じです。 どなたか教えて下さい。

  • シェルのif文について

    シェルの書き方で悩んでいます。 A,Bファイルにいずれかが読み取れない場合に、エラーにする if [ -r "A" -a -r "B" ] then else echo "エラー" fi 悩んでるところ→[ -r "A" -a -r "B" ]の否定は、どのようにかくのでしょうか? よろしく御願いします

  • シェルスクリプトの if文について

    if文でずっと悩んでいます。 testIF.shというファイル名で作成したif文を実行したのですが、(kシェル) 「./testIF.sh[3]: testCount: 見つかりません。」 作成したif文は↓です。 ---------------------------------------- let testCount=0 if ( testCount > 0 ) ; then echo "OK!!" fi exit ---------------------------------------- 何がいけないのでしょうか。 まったく分かりません。

  • シェルスクリプト(if文)

    bashにてシェルスクリプトを作成しています。 XXXX_111122222333_YYYYMMDD 111122222333 といった2パターンのファイル名から、「111122222333」の部分を取得したいのですが、if文の条件式で悩んでいます。 if [ expr length ${p9} -gt 13 ] then a=`echo $p9|cut -c 6-9` b=`echo $p9|cut -c 10-14` c=`echo $p9|cut -c 15-18` else a=`echo $p9|cut -c 1-4` b=`echo $p9|cut -c 5-9` c=`echo $p9|cut -c 10-13` fi これで実行すると too many arguments というエラーが出てしまいます。(結果も正しくありません) 基本的な部分が理解できていないかと思うのですが、宜しくお願いいたします。

  • BシェルのIF文について。。

    BシェルのIF文について。。 現在、Bシェルで特定のファイルが存在する場合、ファイル名の末尾をカウントアップ(ファイル名_01)しようと考えております。 以下がスクリプトの内容なのですが fiが無効というエラーが出てしまいます。。。 対応が分かる方がいらっしゃれば教えてください。。 if [ -f aaa_00.txt] then touch aaa_001.txt fi よろしくお願いします。

  • シェルスクリプトのif文

    シェルスクリプトのif文について質問です。 あるファイルが存在しないときだけ処理を行いたい場合、 下記のような記述をするしかないのでしょうか? if [ -e /tmp/test.txt ]; then  ダミー処理(val1=1など意味のない処理)  (ダミー処理を入れるのは何も書かないとエラーとなってしまうため) else   行いたい処理 fi elseを使わずに if  fi だけですますことはできないでしょうか? -eはファイルが存在するならば真なので 逆に意味が真となるようにしたいのですが・・・

  • Bシェルでのif文について

    あるファイルからgrepコマンドで抽出し、その値を変数に 入れてその値がNULLが確認したいのですが、うまくいきません。 どのようにすればNULLとして比較できますでしょうか。 ・「File」という名のファイル Period: Count: ※本来ならば「:」の後に数字が入るが 入っていない場合にはエラーとしたい ・grepの条件 TEST=`grep "^Period" File | cut -f 2 -d":"` ・if文 if [ ${TEST} != NULL ] then echo "ERROR" fi

  • Cシェルでの文字列大小比較

    Cシェルで set AA="aa" set BB="bb" if( $AA > $BB )then echo "$AA > $BB" endif というような判定がしたいのですが、 上記の場合、”if: 条件式構文が正しくありません”というエラーが出力されます。 Cシェルの場合、文字列の比較は ifでイコールかノットイコールかは判定できますが、文字コードの大小比較が出来ないようですが、 文字列の大小比較をするにはどうすればよいのしょうか

  • シェルプログラムの判定について

    皆さんのお知恵をお貸しください シェルはcshです 目的set name = $<で$nameに入る文字が+-*/(一文字毎です)の時エラー処理をしたい 現状下記のプログラムですが判定出来ません set xx = $< set moji = `grep -c '[\-\+\*\/]' xx` if ( $moji == 1 ) then echo 文字に誤りがあります endif  else if ( $moji == 0 ) then echo OKです endif +-*/が入った時にエラーを出したいのですが+-*/をどう判定したらよいのか教えて頂けます様お願い致します。

  • Kシェルが動作しない。

    Kシェルが動作しない。 以下シェル自体ですが、単体では動作するのですが、メインのシェルから呼び出すと動作しなくなります。 動作しない条件としては、子シェルがメインシェルのwhile文の中に入れていると無限ループ???してしまいます。(for文やそれ以外では動作します。) なにかご存知でしたら、ご教授願います。 ・子シェル(Yes or Noを入力するまで無限ループする) #!/bin/ksh answer= echo "Do you add xxxx ? ---> [y/n]\c" while : do if [ "`echo -n`" = "-n" ]; then echo "$@\c" else echo -n "\@" fi read answer case "${answer}" in [yY] | yes | YES | Yes ) return 0 ;; [nN] | no | NO | No ) return 1 ;; * ) echo "Please enter y or n." ;; esac done ・メインシェル #!/bin/ksh while read line do /xxx/子シェル.ksh done < /xxx/zzz.txt 分かりづらいかも知れませんが、ご容赦願います。