0

誰かが "-r" を実行する bash シェル スクリプトにオプションを追加しようとしましたが、git サーバーにプッシュしましたが、次のエラーが発生しました

mirror.sh: line 8: conditional binary operator expected
mirror.sh: line 8: syntax error near `-e'
mirror.sh: line 8: `if [[ "$1" -e "-r" ]];then'

以下は私のbashスクリプトです:

#!/bin/bash
cd /home/joe/Documents/sourcecode/mirror.git
git svn rebase

#
# if option -r then push to master
#
if [[ "$1" -e "-r" ]];then
    git push origin master
fi
4

3 に答える 3

1

試す:

if [[ "$1" = "-r" ]];then

また

if [[ "$1" == "-r" ]];then

于 2013-02-14T12:53:14.030 に答える
0

述べたよう-eに、実際にはファイルの存在テストです。値を比較して使用を考えたかったと思います-eqが、それは算術二項演算子です。==文字列を次のように比較する必要があります

if [[ "$1" == "-r" ]];
于 2013-02-14T13:06:36.977 に答える
0

どうですか:

if [[ "$1" == "-r" ]]; then

?

-e の例では、ファイルが存在するかどうかをテストします。これは間違っています。

于 2013-02-14T12:57:19.663 に答える