我有这个脚本接受3个参数,它可以工作。
#!/bin/bash
curl --header "Authorization: token $GITHUB_CLI_TOKEN" \
--header "Accept: application/vnd.github.v3.raw" \
--remote-name \
--location "https://api.github.com/repos/$1/$2/contents/$3"
例如,使用有效的Github访问令牌
$ GITHUB_CLI_TOKEN=07D5E834792BF0B35C0DD9B1E18CC4CDB75E20E9 ./fetch.py miguelgrinberg Flask-SocketIO example/app.py
当我将其作为别名编写时,它不起作用。
alias github-fetch-file='curl --header "Authorization: token $GITHUB_CLI_TOKEN" \
--header "Accept: application/vnd.github.v3.raw" \
--remote-name \
--location "https://api.github.com/repos/$1/$2/contents/$3"'
它也不能作为一种功能
function github-fetch-file() {
curl --header "Authorization: token $GITHUB_CLI_TOKEN" \
--header "Accept: application/vnd.github.v3.raw" \
--remote-name \
--location "https://api.github.com/repos/$1/$2/contents/$3"
}
$ github-fetch-file miguelgrinberg Flask-SocketIO example/app.py
curl: Remote file name has no length!
curl: try 'curl --help' or 'curl --manual' for more information
curl: (6) Could not resolve host: miguelgrinberg
curl: (6) Could not resolve host: Flask-SocketIO
curl: (6) Could not resolve host: example
答案 0 :(得分:0)
别名不起作用,因为行尾之前的反斜杠是文字的(因为单引号)而且没有参数展开$1
等也是文字的,函数应该作为脚本工作。在调用函数和脚本之前,GITHUB_CLI_TOKEN
可以内联设置。