当代码
SRC=$(cd $(dirname "$0"); pwd)
在安装在c:\program files\Git
中的Git for Windows的系统上的Bash脚本中执行,SRC将获得值/c/program
。
如何使这项工作? 我需要获取脚本所在的路径,并使用它来包含具有相对路径的其他脚本。 在我的情况下,下一行是: 来源" $ {SRC} /common/common.sh"
该脚本位于c:\program files\Git\usr\bin
中,因此我可以使用git <command-name>
并使用一些有用的手工命令扩展Git,用于带有rebase和子模块的功能分支工作流程。
如果有人想帮忙的话,源代码是https://github.com/jlovs/git-scripts。
答案 0 :(得分:3)
您需要引用*** Test Cases ***
Positional
Various Args hello world # Logs 'arg: hello' and 'vararg: world'.
Named
Various Args arg=value # Logs 'arg: value'.
Kwargs
Various Args a=1 b=2 c=3 # Logs 'kwarg: a 1', 'kwarg: b 2' and 'kwarg: c 3'.
Various Args c=3 a=1 b=2 # Same as above. Order does not matter.
Positional and kwargs
Various Args 1 2 kw=3 # Logs 'arg: 1', 'vararg: 2' and 'kwarg: kw 3'.
Named and kwargs
Various Args arg=value hello=world # Logs 'arg: value' and 'kwarg: hello world'.
Various Args hello=world arg=value # Same as above. Order does not matter.
命令的参数。
cd
命令替换SRC=$(cd "$(dirname "$0")"; pwd)
扩展为包含空格的路径。以下$(dirname "$0")
命令获取两个参数,而您只想传递一个,并且内部有空格。
由于cd
命令替换启动了新的quoting context,因此您无需担心另一对引号内$0
周围的引号。
答案 1 :(得分:0)