J'ai besoin de créer un script shell qui vérifie la présence d'un fichier et s'il n'existe pas, le crée et passe à la commande suivante, ou passe simplement à la commande suivante. Ce que j'ai ne fait pas ça.
#!/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 ...
Le retour est
line 5: [!: command not found
mkdir: /Scripts: File exists
Je ne sais pas quoi faire. Chaque endroit où une recherche Google m'amène indique quelque chose de différent.
touch
le fichier et sauter le conditionnel?
[
et !
), mais il est probablement utile de souligner ici qu'il [
s'agit d'une commande réelle sur Unix. Une commande Unix nécessite un espace entre le nom de la commande et ses arguments. Oui, c'est aussi un Bash intégré , mais il y a aussi un binaire /usr/bin/[
sur la plupart des systèmes.