Мені потрібно створити скрипт оболонки, який перевіряє наявність файлу, а якщо його не існує, створює його і переходить до наступної команди або просто переходить до наступної команди. Те, що я маю, не робить цього.
#!/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
файл та пропустити умовне?
[
і !
), але, мабуть, корисно вказати тут, що [
це фактична команда для Unix. Команда Unix вимагає деякого пробілу між назвою команди та її аргументами. Так, це також Bash вбудований , але в /usr/bin/[
більшості систем також є двійковий код.