मुझे एक शेल स्क्रिप्ट बनाने की ज़रूरत है जो किसी फ़ाइल की उपस्थिति की जांच करती है और अगर यह मौजूद नहीं है, तो इसे बनाता है और अगले कमांड पर जाता है, या बस अगले कमांड पर जाता है। मेरे पास ऐसा नहीं है।
#!/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 ...
वापसी है
line 5: [!: command not found
mkdir: /Scripts: File exists
पता नहीं क्या करना है। Google द्वारा खोजा जाने वाला हर स्थान मुझे कुछ अलग इंगित करता है।
touch
फ़ाइल नहीं छोड़ सकते और सशर्त छोड़ सकते हैं?
[
और !
), लेकिन यह शायद मददगार है यहाँ का कहना है कि [
यूनिक्स पर एक वास्तविक आदेश है। यूनिक्स कमांड को कमांड नाम और उसके तर्कों के बीच कुछ व्हाट्सएप की आवश्यकता होती है। हाँ, यह एक बैश बिलियन है, लेकिन /usr/bin/[
अधिकांश सिस्टम पर एक बाइनरी भी है ।