繁体   English   中英

像bash和zsh这样的shell中命令的匹配策略是什么?

[英]what is the matching strategy of commands in shell like bash and zsh?

我现在使用的是zsh shell,但我假设其匹配的命令策略与bash相同。 这是东西:

我要创建一个别名命令,该命令使用模板文件创建一个新的.cpp文件,并将第一个参数用作新文件名。 我还为Java模板编写了一个别名。

这是中的功能。 zshrc

function cppgen()
{
  cp ~/Documents/Templates/cpp_template.cpp ./$1.cpp
  vim ./$1.cpp
}

function javagen()
{
  cp ~/Documents/Templates/java_template.java ./$1.java
  vim ./$1.java
}

奇怪的是,只有javagen别名有效。 当我使用cppgen时 ,shell会输出:

usage: cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file target_file
       cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file ... target_directory

经过一段时间的努力,我终于意识到shell将我的cppgen命令视为cp 将别名从cppgen更改cgen后 ,一切正常。

那么,这是否意味着shell不会尝试匹配确切的命令,而是最短的匹配命令(我想)?

谢谢大家的评论。 现在我可以将别名设置为cppgen 我什么都没改变。 不知道发生了什么...在StackOverflow上发布之前,也许我需要更多的咖啡。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM