プロが教える店舗&オフィスのセキュリティ対策術

ksh (korn shell)にて
if [[ -e file.txt ]]; then
とすれば、file.txtが存在する時の処理ができることは分かったのですが、反対に
「ファイルが存在しない時」はどういうif文の書き方をすればいいのでしょうか?

man kshで探してみたのですが、探し方がよくわからず、挫折しました。

C言語でいうところの "!"や否定の仕方がありましたら、教えていただきたいと思います。
否定で書けない場合は、別の方法を教えていただければ幸いです。

A 回答 (2件)

具体的のどのkshかがはっきりしませんが、基本は同じですので


manpage kshで最初に見つかったサイトから引用
http://uw714doc.sco.com/ja/man/html.1/ksh.1.html
> 条件式
> ! expression
> expression が偽の場合に真。

なお、!は特殊文字(コマンド履歴の展開に使用される)なので、 \! 等とエスケープするとか '!' 等と文字列にするとかの必要があるでしょう

あと、[[ コマンドの演算子と被演算子は、シェルコマンドの引数として指定する必要があります。
!-e
等と空白無しに続けて書くことはできません
    • good
    • 1
この回答へのお礼

回答ありがとうございます。

同じページを検索で見つけていたのですが、どの部分を読めばいいかわかっていませんでした。
「偽」で検索したらたどれますね。

> !-e
> 等と空白無しに続けて書くことはできません

空白をきちんととらないといけないのですね。この点, 注意の喚起ありがとうございます。

お礼日時:2014/01/14 12:39

!


でいいですけど。
    • good
    • 0
この回答へのお礼

回答ありがとうございます.

! (not operator)
というので使えたのですね。

お礼日時:2014/01/14 12:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!