Jef*_*ett 3 windows command-line cmd.exe
我知道我可以在命令行中连续运行两个命令:
git add -u && git commit --amend --no-edit
Run Code Online (Sandbox Code Playgroud)
我也使用别名设置 doskey
doskey a=git add $*
Run Code Online (Sandbox Code Playgroud)
但是如何在一个doskey别名中组合多个命令呢?
doskey amend=git add -u && git commit --amend --no-edit
Run Code Online (Sandbox Code Playgroud)
通过将 设置doskey为第一个命令doskey amend=git add -u而失败,然后继续git commit --amend --no-edit在运行时立即执行而不是将复合命令保存到doskey别名。
我也尝试引用整件事:
doskey amend="git add -u && git commit --amend --no-edit"
Run Code Online (Sandbox Code Playgroud)
但这也失败了,因为它从字面上解释了引号:
'"git add -u && git commit --amend --no-edit"' 不是内部或外部命令,也不是可运行的程序或批处理文件。
问题是&&表示命令结束doskey,第二个git命令在其后内联执行。
我尝试过其他语法组合,但它们都不允许在扩展&&后进行解析doskey,除了:
doskey amend=cmd /c "git add -u && git commit --amend --no-edit"
Run Code Online (Sandbox Code Playgroud)
这会启动一个新的 shell,效率很低。更好的解决方案可能是将这两个命令放入批处理文件(例如amend.cmd)并将宏分配给它:
doskey amend=amend.cmd
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1223 次 |
| 最近记录: |