Bir dosyanın varlığını kontrol eden bir kabuk komut dosyası oluşturmak gerekir ve yoksa, oluşturur ve sonraki komut için devam eder, ya da sadece sonraki komut için devam eder. Sahip olduğum şey bunu yapmıyor.
#!/bin/bash
# Check for the file that gets created when the script successfully finishes.
if [! -f /Scripts/file.txt]
then
: # Do nothing. Go to the next step?
else
mkdir /Scripts # file.txt will come at the end of the script
fi
# Next command (macOS preference setting)
defaults write ...
Dönüş
line 5: [!: command not found
mkdir: /Scripts: File exists
Ne yapacağımı bilmiyorum. Google aramasının getirdiği her yer farklı bir şey olduğunu gösterir.
touch
dosya ve koşul atlamak?
[
ve arasındaki boşluğu kaçırmaktadır !
), ancak muhtemelen [
Unix'te gerçek bir komut olduğunu belirtmek yararlı olacaktır . Unix komutu, komut adı ile argümanları arasında boşluk olmasını gerektirir. Evet, bir Bash yerleşkesi de var, ancak /usr/bin/[
çoğu sistemde de bir ikili var .