Эй, я начал писать сценарии оболочки bash, и я m пытается создать сценарий для назначения, который, когда вы вводите два каталога, он проверяет, существуют ли они, и отображает соответствующее сообщение об ошибке, и если оба каталога существуют, он перечислит различия между текущими каталогами.
$ cd dir-1
$ myshellscript . dir-2 (comparing . aka dir-1 against dir-2)
Вывод:
Files that are in . but not in dir-2
-rw------- 1 ddddd users 1 2011-03-1 01:26 123123123
Files that are in dir-2 but not in .
-rw------- 1 ddddd users 1 2011-03-1 01:26 zzzzzzzzzzzz
То, что у меня есть, похоже, не обнаруживает, существует ли каталог, и не перечисляет различия:
dir-1=$1
dir-2=$2
if [ $# > 2 ]
then
echo "Usage: compdir dir-name1 dir-name 2"
exit 1
elif [ $# < 2 ]
then
echo "Usage: comdir dir-name1 dir-name 2"
elif [ ! -d "$@" ]
then
echo "/$@ is not a valid existing directory"
else
exit 0
fi
echo $dir-1
echo $dir-2
Список команд, с которыми мне нужно работать, иначе я бы использовал comm -32 <(ls -la dir-1)
<(ls -la dir-2)
http://dl.dropbox.com/u/20930447/index.html