1
ファイルパスまたはディレクトリパスの配列項目を調べようとしています。天気をチェックすると、シェルスクリプトのディレクトリまたはファイルである
#!/bin/bash
declare -a arr=("/var/log/symantec/sgs-td","/var/lib/mysql/mysql-slow.log","/var/lib/mysql/mysql-error.log", "/var/log/sa")
## now loop through the above array
for i in "${arr[@]}"
do
if [[ -d $i ]]; then
echo "$i is a directory"
elif [[ -f $i ]]; then
echo "$i is a file"
else
echo "$i is not valid"
exit 1
fi
done
私はシェル構文に関する知識がありません。
パスがディレクトリの場合、printはディレクトリです。ファイルの場合はファイルを出力します。
ご質問はありますか? – Fazlin
スクリプトの実行時に実際に出力されるのは何ですか? – Uroc327
/var/log/symantec/sgs-td,/var/lib/mysql/mysql-slow.log,/var/lib/mysql/mysql-error.logは無効です。 –