Necesito crear un script de shell que verifique la presencia de un archivo y, si no existe, lo crea y pasa al siguiente comando, o simplemente pasa al siguiente comando. Lo que tengo no hace eso.
#!/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 ...
El retorno es
line 5: [!: command not found
mkdir: /Scripts: File exists
Ni idea de qué hacer. Cada lugar que me trae una búsqueda de Google indica algo diferente.
touch
el archivo y omitir el condicional?
[
y !
), pero probablemente sea útil señalar aquí que [
es un comando real en Unix. Un comando Unix requiere un espacio en blanco entre el nombre del comando y sus argumentos. Sí, también es un Bash incorporado , pero también hay un binario en la /usr/bin/[
mayoría de los sistemas.