• ベストアンサー

kshのファイルが存在しない時

ksh (korn shell)にて if [[ -e file.txt ]]; then とすれば、file.txtが存在する時の処理ができることは分かったのですが、反対に 「ファイルが存在しない時」はどういうif文の書き方をすればいいのでしょうか? man kshで探してみたのですが、探し方がよくわからず、挫折しました。 C言語でいうところの "!"や否定の仕方がありましたら、教えていただきたいと思います。 否定で書けない場合は、別の方法を教えていただければ幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

具体的のどのkshかがはっきりしませんが、基本は同じですので manpage kshで最初に見つかったサイトから引用 http://uw714doc.sco.com/ja/man/html.1/ksh.1.html > 条件式 > ! expression > expression が偽の場合に真。 なお、!は特殊文字(コマンド履歴の展開に使用される)なので、 \! 等とエスケープするとか '!' 等と文字列にするとかの必要があるでしょう あと、[[ コマンドの演算子と被演算子は、シェルコマンドの引数として指定する必要があります。 !-e 等と空白無しに続けて書くことはできません

flex1101
質問者

お礼

回答ありがとうございます。 同じページを検索で見つけていたのですが、どの部分を読めばいいかわかっていませんでした。 「偽」で検索したらたどれますね。 > !-e > 等と空白無しに続けて書くことはできません 空白をきちんととらないといけないのですね。この点, 注意の喚起ありがとうございます。

その他の回答 (1)

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.1

! でいいですけど。

flex1101
質問者

お礼

回答ありがとうございます. ! (not operator) というので使えたのですね。

関連するQ&A