Я использую этот скрипт для резервного копирования старого частного экземпляр PostgreSQL в GMAIL периодически:
#!/bin/bash
/opt/local/lib/postgresql83/bin/pg_dump maxgests -U postgres | gzip --best -c > $1 && (/opt/local/bin/mutt -s `date "+%d-%m-%Y-%H:%M"` -a $1 $2 < /dev/null)
В последнее время я получаю это:
./postgres_to_gmail.sh: line 2: $1: ambiguous redirect
И сценарий больше не работает. Mac OS X 10.6.8.
Может ли кто-нибудь сказать, что случилось, и как его исправить?
Первый аргумент это путь, как /tmp/database.gz
Второй аргумент является электронная почта.
Ну что же $ 1 выглядит? Что-то еще, вы должны указывать ** все ** содержащие путь переменные в ваших сценариях Bash. В противном случае они будут ломаться, когда (а не если *, когда *) они содержат пробелы. –
В стороне, я не думаю, что скобки вокруг последней команды необходимы или полезны. – tripleee
Вы правы, я уточнил значения аргументов. –