現在の作業ディレクトリに "file1.c"ファイルがあるかどうかをテストしようとしています。テストコマンドに何の問題がありますか?コマンドを理解したと思いましたが、Bourneシェルに私が知らない何か間違ったことがありましたか?
#! /bin/sh
NAME=$1
if((test -e "$NAME"));then
echo File $NAME present
else
echo File $NAME not present
fi
答え1
角かっこは必要なく、test
それ自体で十分です。
if test -e "$NAME"; then
(())
算術比較演算に使用されます。
test
command と同義語な[
ので、次を使用できます。
if [ -e "$NAME" ]; then
また。
キーワードを含むシェルもあります[[
。
if [[ -e "$NAME" ]]; then