bash/powershell 中有没有一种方法可以根据上下文在命令中自动包含一个单词?
Posted
技术标签:
【中文标题】bash/powershell 中有没有一种方法可以根据上下文在命令中自动包含一个单词?【英文标题】:Is there a way in bash/powershell to automatically include a word in a command based on context? 【发布时间】:2022-01-04 05:56:46 【问题描述】:目前,在 git repos 中,我输入 git status
。我的 shell 有什么方法可以理解这是一个 git repo 并自动将git
附加到相关命令?
例如,
# bash example
# before
git status
# after
status # "status" isn't a registered command, but "git status" is, so bash uses the latter
我可能只希望在回购时启用此功能,但有没有办法在任何流行的 shell 中获得与此类似的功能?
我知道这并不总是首选或最好的主意,但它可以让我免于输入单词。
【问题讨论】:
您的问题与 powershell 有什么关系?如果您想针对两种不同的语言(bash 与 powershell)讨论相同的问题,请提出两个不同的问题。 【参考方案1】:这就是在 bash 中发明别名的目的。您将在 bashrc 中添加如下所示的一行:
alias status='git status'
如果您愿意,可以为您经常运行的每个 git 子命令添加一个:
alias commit='git commit'
alias checkout='git checkout'
alias add='git add'
alias push='git push'
alias pull='git pull'
alias config='git config'
你的环境是你自己的,如果你想为 git 命令做一个简写,你可以这样做!
此外,这些别名会将任何参数传递给底层命令。所以如果你写:
commit -m "My message"
这将转换为git commit -m "My message"
。
如果存在的话,这些别名应该添加到你的主目录中的.bashrc
文件中。
See here for a more in-depth explanation of aliases.
【讨论】:
以上是关于bash/powershell 中有没有一种方法可以根据上下文在命令中自动包含一个单词?的主要内容,如果未能解决你的问题,请参考以下文章