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 中有没有一种方法可以根据上下文在命令中自动包含一个单词?的主要内容,如果未能解决你的问题,请参考以下文章

EOF

如何在Visual Studio中嵌入命令shell

php EOF(heredoc)使用

Android:有没有一种简单的方法可以为视图创建圆角,而不必每次都创建单独的可绘制对象?

有没有一种可移植的方法来设置flock() 的超时时间?

有没有一种简单的方法来检查一个对象是不是在 python 中是 JSON 可序列化的?