在命令行编写几个命令时,它可以工作,但是在脚本文件中放置相同的命令会引发错误。 这是我想要做的:
USER=chandan-jay
REPO=test-1
echo "GitHub UserID: $USER"
echo "Repository Name: $REPO"
str={\"name\":\"$REPO\"}
curl_response=($( curl -u "$USER" -H "Content-Type:application/json" https://api.github.com/user/repos -d $str ))
echo ${curl_response[@]}
在shell上执行上面的代码行后如果工作文件。
将它们放在.sh文件中时会引发语法错误(行号13为curl_response
):
__git_create_repo_CLI.sh: 13: git_create_repo_CLI.sh: Syntax error: "(" unexpected__
答案 0 :(得分:2)
将解释器设置为bash,如下所示:
#!/bin/bash
答案 1 :(得分:1)
this看起来像你想要的吗?我只是在我的用户名下运行脚本,在bash下运行,在Mac OS X上是/ bin / sh,这就是我得到的。
答案 2 :(得分:1)
在执行代码时尝试使用bash而不是sh。 看看这个以获得更好的解释 http://viewsby.wordpress.com/2011/11/16/shell-script-arrays-syntax-error-unexpected/
答案 3 :(得分:-1)
尝试更改此
curl_response=($( curl -u "$USER" -H "Content-Type:application/json" https://api.github.com/user/repos -d $str ))
到这个
curl_response=`curl -u "$USER" -H "Content-Type:application/json" https://api.github.com/user/repos -d $str`
希望这有帮助