Bash脚本/函数
我正在尝试设置一个bash函数,以便键入一些参数并创建git pull请求:Bash脚本/函数,bash,git-bash,Bash,Git Bash,我正在尝试设置一个bash函数,以便键入一些参数并创建git pull请求: gpreq "<title>" "<ticketnumber>" "<release>" "<briefdescription>" 而且 gpreq() { STR="${1}"$'\n\n Ticket: https://ticketsystem.net/issues/'$"${2}"$'\n Target Release: '$"${3}"$'\n Desc
gpreq "<title>" "<ticketnumber>" "<release>" "<briefdescription>"
而且
gpreq() {
STR="${1}"$'\n\n Ticket: https://ticketsystem.net/issues/'$"${2}"$'\n Target Release: '$"${3}"$'\n Description: '$"${4}"
hub pull-request -m "${STR}" ;
}
由于某些原因,换行符似乎不起作用,而是\n作为实际字符出现。任何帮助都将不胜感激 我不知道hub是什么 \n是由某个命令转换为换行符的字符 尝试直接插入换行符
hub pull-request -m "$1
Ticket: https://ticketsystem.net/issues/$2
Target Release: $3
Description: $4"
或使用某些函数解释\n:
STR="$1\n\n Ticket: https://ticketsystem.net/issues/$2\n Target Release: $3\n Description: $4"
STR
hub pull-request -m "`printf "${STR}"`"
你的bash-bash版本是什么?我有bash 4.3,它完美地处理了ANSI-C引用。嗯,ANSI-C引用是在verion 2.0中添加到bash的——当然,您的bash版本比这更新。我使用的是Windows下载的Git附带的Bash,表示它是4.4.19。printf${STR}将变量保留为不带引号的,它将破坏空白格式。此外,必须注意字符串可能包含%个字符,这将导致printf错误。我不建议在没有显式格式字符串的情况下使用printf。效果很好!仅供参考,hub是git的包装器,用于GitHub。
STR="$1\n\n Ticket: https://ticketsystem.net/issues/$2\n Target Release: $3\n Description: $4"
STR
hub pull-request -m "`printf "${STR}"`"