解决$ 1:模糊重定向

时间:2013-07-13 09:34:53

标签: bash

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

第二个论点是电子邮件。

2 个答案:

答案 0 :(得分:9)

$1显然是空的。

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

答案 1 :(得分:1)

调用者不设置参数($ 1 $ 2) 你应该定期查看crontab或程序调用 更

$ echo > $1
bash: $1: ambiguous redirect