Мне нужно создать сценарий оболочки, который проверяет наличие файла и, если он не существует, создает его и переходит к следующей команде или просто переходит к следующей команде. То, что у меня есть, не делает этого.
#!/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/[
большинстве систем есть бинарный файл .