有人能告诉我是否应该在shell脚本中包含变量的引号?
例如,以下是正确的:
xdg-open $URL
[ $? -eq 2 ]
Run Code Online (Sandbox Code Playgroud)
要么
xdg-open "$URL"
[ "$?" -eq "2" ]
Run Code Online (Sandbox Code Playgroud)
如果是这样,为什么?
我正在使用此脚本定期将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)
Run Code Online (Sandbox Code Playgroud)
最近我得到了这个:
./postgres_to_gmail.sh: line 2: $1: ambiguous redirect
Run Code Online (Sandbox Code Playgroud)
脚本不再有效.Mac OS X 10.6.8.
anytone可以告诉我什么是错的以及如何解决它?
第一个参数是路径,就像 /tmp/database.gz
第二个参数是电子邮件.