我想知道bash shell中别名和函数之间的区别-以及何时使用哪一个。
显然,由于函数可以接受参数,因此它们的功能要强大得多-因为我主要是在上网本上工作,并且希望节省能源和处理能力,所以我特别想了解更多有关性能差异的信息这两种扩展bash功能的方法是。
我想知道bash shell中别名和函数之间的区别-以及何时使用哪一个。
显然,由于函数可以接受参数,因此它们的功能要强大得多-因为我主要是在上网本上工作,并且希望节省能源和处理能力,所以我特别想了解更多有关性能差异的信息这两种扩展bash功能的方法是。
Answers:
将别名视为昵称。您可能有一个执行很多但想缩短的命令。
例如,您经常想直接在命令行中进入桌面,因此您可以执行此操作
alias desktop="cd ~/Desktop"
从那时起,您只需输入
desktop
在终端,它将cd ~/Desktop
为您执行。
函数包含逻辑。在一个函数中,您可以调用几个不同的程序。这是一个简单的回声功能
function e {
echo $1
echo $1 $1
echo $1 $1 $1
}
虽然在您调用它时可能看起来类似于别名
e Hello
您的e()可能会发生很多不同的事情。上面是一个简单的例子。
别名应保留用于简单的用例。个人示例-我已经替换了这样的rm
命令
alias rm='trash-put'
每当我执行rm时,它都会将其发送到回收站,而不是将其从磁盘中删除。这满足了我在终端中的笨拙之处,我可能会(有时)不小心删除一个重要文件。
您需要记住的功能是逻辑。通常,您不会使用独立的功能。这将是较大脚本的一部分。想象一下一个脚本,该脚本将获取所有文件并将其重命名为其猪拉丁版本。忽略执行此操作的不同方法。
但是,您可以做的是遍历目录中的每个文件,并将文件路径传递给RenameAsPigLatin函数。RenameAsPigLatin函数可能在其中包含涉及数字的附加逻辑,在该函数中,您应确定不应重命名以数字结尾的文件。
马上您就会看到将其作为功能的好处。该函数可以根据您的奇怪规则来重命名,而脚本的其余部分可以根据需要遍历各种目录。