使用以“quot;开头的Unix命令别名的潜在危险&引用;?

使用以“quot;开头的Unix命令别名的潜在危险&引用;?,unix,shell,command-line,ksh,Unix,Shell,Command Line,Ksh,我想在目录中搜索代码文件时使用alias为自己生成一些命令,但我有点紧张,因为它们以“.”开头。以下是一些例子: $alias.cpps=“ls-a*.cpp” $alias.hs=“ls-a*.h” 我是否应该担心遇到任何困难?还有其他人这样做过吗?我不会用“.”来开始你的别名,因为它在“/”旁边,你可能会错误地将这两个字打在一起,并意外地在当前目录中运行一个可执行文件(特别是如果你使用制表符完成).我不会使用“.”作为别名的开头,因为它位于“/”旁边,您可能会错误地将这两个名称组合在一起,并

我想在目录中搜索代码文件时使用alias为自己生成一些命令,但我有点紧张,因为它们以“.”开头。以下是一些例子:

$alias.cpps=“ls-a*.cpp”

$alias.hs=“ls-a*.h”


我是否应该担心遇到任何困难?还有其他人这样做过吗?

我不会用“.”来开始你的别名,因为它在“/”旁边,你可能会错误地将这两个字打在一起,并意外地在当前目录中运行一个可执行文件(特别是如果你使用制表符完成).

我不会使用“.”作为别名的开头,因为它位于“/”旁边,您可能会错误地将这两个名称组合在一起,并意外地在当前目录中运行一个可执行文件(特别是如果使用tab completion).

我怀疑是否存在任何技术问题,尽管这可能会让长期使用Unix的人感到困惑。在我的世界里,命令中没有点,文件名中没有空格或大写字母

我怀疑是否存在任何技术问题,尽管这可能会让长期使用Unix的人感到困惑。在我的世界里,命令中没有点,文件名中没有空格或大写字母

在名称中加上圆点有什么好处?这似乎是一个不必要的额外角色。我只使用基本名称(
hs
cpps
)作为别名

我想可能会有人认为点表示命令是别名,但为什么这种区别是有益的呢?Unix的一大优点是它消除了O/S提供的神圣命令和用户编写的程序之间的区别。他们都是平等的——只是在不同的地方


我不认为使用以点开头的别名有什么真正的危险。我决不会想到去尝试;我有点惊讶他们被允许。但考虑到它们是允许的,我看不出有什么真正的风险。

在名称中加上点有什么好处?这似乎是一个不必要的额外角色。我只使用基本名称(
hs
cpps
)作为别名

我想可能会有人认为点表示命令是别名,但为什么这种区别是有益的呢?Unix的一大优点是它消除了O/S提供的神圣命令和用户编写的程序之间的区别。他们都是平等的——只是在不同的地方


我不认为使用以点开头的别名有什么真正的危险。我决不会想到去尝试;我有点惊讶他们被允许。但考虑到它们是允许的,我看不出有什么真正的风险。

我不知道“.”有什么问题,但一般来说,许多人根本不鼓励使用别名,并建议使用适当的shell函数。(例如,cpps(){ls-a*.cpp})这实际上更有意义。我想知道/usr/bin、别名和shell函数中命令之间的优先级是如何安排的。隐马尔可夫模型。。。。。谢谢你的回答@daveslab:内置命令
type
将告诉您调用的是哪一个。谢谢@greyfade,我不知道这一点。@daveslab:您询问别名与路径上找到的命令相比如何等等。为此,您需要阅读手册。首先搜索别名;如果未找到别名,则会查看内置,然后查看路径上的命令。但我需要纠正的是,内置函数如何适应这种情况。我不知道“.”有任何问题,但一般来说,许多人根本不鼓励使用别名,并建议使用适当的shell函数。(例如,cpps(){ls-a*.cpp})这实际上更有意义。我想知道/usr/bin、别名和shell函数中命令之间的优先级是如何安排的。隐马尔可夫模型。。。。。谢谢你的回答@daveslab:内置命令
type
将告诉您调用的是哪一个。谢谢@greyfade,我不知道这一点。@daveslab:您询问别名与路径上找到的命令相比如何等等。为此,您需要阅读手册。首先搜索别名;如果未找到别名,则会查看内置,然后查看路径上的命令。但是我要纠正的是,内置程序是如何适应这种情况的。它们成为当前目录中的命令
/cpps
的可能性有多大?这会造成任何损害?我认为我没有摸索点和斜杠键-我输入了很多东西,但我不记得这是一个问题。如果你正在编译可执行文件,那么在当前工作目录中很可能有以“c”开头的东西。我认为,一般来说,如果您的输入速度比终端显示速度快(例如,使用laggy SSH连接)并使用制表符完成(例如../c),那么这将是一个潜在的危险。我不知道有多少人花时间在shell中,他们没有一个可怕的故事可以分享,当他们输入错误或使用^substitution^错误并制造了欢乐地狱。他们成为当前目录中的命令
/cpps
的可能性有多大-这会造成任何损害?我认为我没有摸索点和斜杠键-我输入了很多东西,但我不记得这是一个问题。如果你正在编译可执行文件,那么在当前工作目录中很可能有以“c”开头的东西。我认为,一般来说,如果您的输入速度比终端显示速度快(例如,使用laggy SSH连接)并使用制表符完成(例如../c),那么这将是一个潜在的危险。我不知道有多少人花时间在贝壳里,他们没有一个可怕的故事可以分享,当他们打字错误或使用了^替换^错误,并带来了欢乐地狱。