7

我正在使用此脚本定期将 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

第二个参数是电子邮件。

4

2 回答 2

14

$1显然是空的。

作为一般指导,您应该将变量插值放在双引号中,几乎总是如此。

于 2013-07-13T09:38:47.520 回答
1

调用者没有设置参数($ 1 $ 2)你应该检查crontab或定期调用的程序更多

$ echo > $1
bash: $1: ambiguous redirect
于 2013-07-13T09:40:42.817 回答