![如何从文本脚本调用一个函数?](https://linux22.com/image/975480/%E5%A6%82%E4%BD%95%E4%BB%8E%E6%96%87%E6%9C%AC%E8%84%9A%E6%9C%AC%E8%B0%83%E7%94%A8%E4%B8%80%E4%B8%AA%E5%87%BD%E6%95%B0%EF%BC%9F.png)
我有一个包含很多功能的文本文件。例如:
# fisrt function
# runs update and upgrade
function upug() {
sudo apt-get update && sudo apt-get upgrade
}
# second function
# find out the processes running that use the most memory
function memusage() {
ps aux | sort -nrk 4 | head
}
# third function
# install package
function ipkg() {
sudo apt-get install
}
[...]
现在我希望能够在终端中以类似的方式使用这些功能:
upug
在终端调用中运行function upug()
user@test-pc:~$ upug
memusage
在终端调用中运行function memusage()
user@test-pc:~$ memusage
伴随着令人激动的
ipkg package_Name
呼唤function ipkg()
user@test-pc:~$ ipkg package_Name
我为每个命令都创建了一个带有函数名的别名。现在的问题是如何用别名调用这些函数?
答案1
如果我是你,我会把函数和别名都放进我的~/.bash_aliases
(见别名:.bash_rc、.bash_aliases 和 /usr/local/bin 之间的区别)。
由于您已经在当前会话中定义了别名,因此您可以直接获取文本文件以便稍后调用别名命令:
user@test-pc:~$ . <PATH_TO_YOUR_TEXT_COMMANDS>/my_commands.txt
user@test-pc:~$ upug
或者,您也可以按如下方式从您的位置加载文件~/.bashrc
:
if [ -f <PATH_TO_YOUR_TEXT_COMMANDS>/my_commands.txt ]; then
. <PATH_TO_YOUR_TEXT_COMMANDS>/my_commands.txt
fi