Preciso criar um script de shell que verifique a presença de um arquivo e, se ele não existir, o crie e avance para o próximo comando ou apenas avance para o próximo comando. O que eu tenho não faz isso.
#!/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 ...
O retorno é
line 5: [!: command not found
mkdir: /Scripts: File exists
Não tenho ideia do que fazer. Todo lugar que uma pesquisa no Google me traz indica algo diferente.
touch
o arquivo e pular o condicional?
[
e !
), mas provavelmente é útil destacar aqui que [
é um comando real no Unix. Um comando Unix requer algum espaço em branco entre o nome do comando e seus argumentos. Sim, é um Bash embutido , também, mas há também um binário de /usr/bin/[
na maioria dos sistemas.