1

ある場所に 2 つのファイルが存在する場合にコマンドを実行しようとしています

2 つのファイルのいずれか 1 つしか存在しない場合、スクリプトは別の異なるコマンドを実行する必要があります。ここでは、私が試したスクリプトを示します。

if [ -e /Users/NJ/Library && /Users/NJ/Desktop ];その後

両方をエコー

そうしないと

エコーシングル

フィ

4

4 に答える 4

4

テストを独自の角括弧に分ける必要があります。

if [ -e file ] && [ -e file ]; then
  echo "wow"
fi
于 2012-12-11T09:55:55.207 に答える
1
if [ -e "/Users/NJ/Library" -a -e "/Users/NJ/Desktop" ];then

....

エバリュエーターは、AND の場合は -a を使用し、[ condition ]OR の場合は -o を使用します。ここにマニュアルがあります。

または以下の構文を使用します。

if [ -e "/Users/NJ/Library" ] && [ -e "/Users/NJ/Desktop" ];then

....

于 2012-12-11T09:56:45.510 に答える
0

単純な の代わりに二重括弧を使用できます。

if [[ -e /Users/NJ/Library && -e /Users/NJ/Desktop ]] ;then

echo both

else

echo single

fi
于 2012-12-11T09:59:47.770 に答える
0

if [ -e /Users/NJ/Library ] && [ -e /Users/NJ/Desktop ] ;then

両方をエコー

そうしないと

エコーシングル

フィ

このパターンはうまく機能します

于 2013-10-28T18:32:24.103 に答える