Tente adicionar um espaço entre "e". Você está perdendo isso em dois lugares. O teste inteiro retorna um número diferente de zero o tempo todo porque está dando um erro.
Eu testei minha teoria no Linux, deveria ser o mesmo para o OS X ...
Estou criando um script bash que supostamente copia todos os arquivos em ~/Development/
para outro computador na minha rede. Eu o habilitei para montar o computador, se ele não estiver lá, mas meu problema real é criar pastas.
Eu quero salvar os arquivos em /Volumes/Users/Public/InfiniteBackups/Development/
, portanto, executo algumas instruções if para verificar se elas existem.
#! /bin/bash
echo "Starting Backup of Development Files"
echo
say "Starting Backup of Development Files"
if [ -d "/Volumes/Users/Public/" ]; then
# Control will enter here if $DIRECTORY exists.
echo "Location is there..."
echo
# Start
echo "Copying Files"
echo
if [ ! -d "/Volumes/Users/Public/InfiniteBackups/Development" ] ; then
echo "/Volumes/Users/Public/InfiniteBackups/Development did not exist."
say "Location did not exist, creating it."
cd /Volumes/Users/Public/
if [ ! -d "/Volumes/Users/Public/InfiniteBackups"]; then
say "InfiniteBackups did not exist, creating it…"
mkdir InfiniteBackups
fi
if [! -d "/Volumes/Users/Public/InfiniteBackups/Development"]; then
cd InfiniteBackups
mkdir Development
fi
fi
cp -v -rip ~/Desktop/ /Volumes/Users/Public/InfiniteBackups/Development
echo "Files have finished transferring"
say "Files have finished transferring"
fi
Ele dirá / Volumes / Users / Public / exists, e ele dirá / Volumes / Users / Public / InfiniteBackups / Development não existe. Em seguida, ele verifica se / Volumes / Users / Public / InfiniteBackups / existe, o que não deveria. Então é suposto fazer o diretório. No entanto, em vez disso, age como se o volume existisse mesmo que claramente não existisse.
Por que isso não funciona? Obrigado.
Tente adicionar um espaço entre "e". Você está perdendo isso em dois lugares. O teste inteiro retorna um número diferente de zero o tempo todo porque está dando um erro.
Eu testei minha teoria no Linux, deveria ser o mesmo para o OS X ...
Tags bash macos shell-script