1
Ich versuche herauszufinden, die Array-Elemente sind Dateipfad oder Verzeichnispfad.Überprüfen Sie, ob der Pfad ein Verzeichnis oder eine Datei im Shell-Skript ist
#!/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
Ich habe keine Kenntnisse der Shell-Syntax.
Wenn der Pfad ein Verzeichnis ist, dann print ..ist ein Verzeichnis oder wenn Datei dann eine Datei drucken.
Was ist Ihre Frage? – Fazlin
Was ist die tatsächliche Ausgabe, die Sie beim Ausführen des Skripts erhalten? – Uroc327
/var/log/symantec/sgs-td,/var/lib/mysql/mysql-slow.log,/var/lib/mysql/mysql-error.log, ist nicht gültig –