Я создаю сценарий bash, который должен копировать все файлы в ~/Development/
на другой компьютер в моей сети. Я включил его, чтобы смонтировать компьютер, если его там нет, но моя настоящая проблема - создание папок.
Я хочу сохранить файлы в /Volumes/Users/Public/InfiniteBackups/Development/
, поэтому я запускаю некоторые операторы if, чтобы проверить, существуют ли они.
#! /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
Он скажет /Volumes /Users /Public / существует, и он скажет /Volumes /Users /Public / InfiniteBackups / Development не существует. Затем он проверяет, существует ли /Volumes /Users /Public / InfiniteBackups /, чего не должно быть. Затем предполагается сделать каталог. Однако вместо этого он действует так, как будто объем существует, хотя он явно не существует.
Почему это не работает Благодарю.