Ben if2 dosya EITHER olup olmadığını kontrol etmek zorunda benim bash komut dosyası var, yoksa onlar yankı eşleşmelidir.
Kod var:
if [[ ! -f /etc/benchmarking/code ]] && [[ ! -f /etc/benchmarking/code.class ]]; then
echo "match"
fi
Ama bu bir sebepten dolayı işe yaramıyor gibi görünüyor.
Bu 2 dosyanın olmadığından% 110 eminim. Herhangi bir hata almıyorum, sadece girmiyor if.
Komut dosyası yazma konusunda yeniyim, bu yüzden neyin yanlış olabileceğinden emin değilim.
[[ -f xxx ]]xxx varsa ve normal bir dosyaysa (veya normal bir dosyaya bir sembolik bağlantı) true değerini döndürür . Varsa veya var olup olmadığını veya var olup olmadığını söyleyemiyorsa, normal bir dosya (dizin, boru, aygıt, soket ...) veya bir symlink olup olmadığını yanlış döndürür. var olmayan veya normal bir dosya olup olmadığını söyleyemeyen bir dosyaya ... [[ -e $file ]] || [[ -L $file ]]varoluş testine daha yakındır. ls -d -- "$file" > /dev/null 2>&1daha da yakın. Ve kural olarak, bu tür testler yarış koşullarına yol açar. Belki başka bir yol var.
[[ ! -f /etc/.../... ]]; echo $?her biri için.