相关疑难解决方法(0)

何时在shell变量周围包装引号?

有人能告诉我是否应该在shell脚本中包含变量的引号?

例如,以下是正确的:

xdg-open $URL 
[ $? -eq 2 ]
Run Code Online (Sandbox Code Playgroud)

要么

xdg-open "$URL"
[ "$?" -eq "2" ]
Run Code Online (Sandbox Code Playgroud)

如果是这样,为什么?

unix linux bash shell quotes

145
推荐指数
4
解决办法
5万
查看次数

解决$ 1:模糊重定向

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

第二个参数是电子邮件.

bash

6
推荐指数
1
解决办法
3万
查看次数

标签 统计

bash ×2

linux ×1

quotes ×1

shell ×1

unix ×1