0

私は最近、このスクリプトを作成しました:

 if test -s $HOME/koolaid.txt ; then
  Billz=$(grep / $HOME/koolaid.txt)
  echo $Billz
  else
 Billz=$HOME/notkoolaid
 echo $Billz
 fi



 if test -d $Billz ; then
  echo "Ok"
 else touch $Billz
fi

基本的に、ファイル$HOME/koolaid.txtfile が存在しない場合、Billz は $HOME/koolaid.txt として設定されます。その後、ファイルが正常に作成されます。

ただし、koolaid.txtを作成すると、これが得られます

mkdir: cannot create directory : No such file or directory

どんな助けでもいただければ幸いです

4

2 に答える 2

0

修正すべき点がいくつかあります。

次のような「シバン」でスクリプトを開始します。

#!/bin/sh

こうすることで、これを Bourne シェル スクリプトとして実行する必要があることがシェルに認識されます。

また、スクリプトの上部にある条件は、 .rm.cfg が存在するが、その中にスラッシュ文字が含まれていないケースを適切に処理しません。その場合、rbin 変数は設定されません。

最後に、行を追加してみてください

ls ~

上部にあるので、シェルがチルダ文字をどのように解釈しているかがわかります。それが問題かもしれません。

于 2013-06-20T20:00:44.110 に答える