如何分配一个单词来执行特定命令

如何分配一个单词来执行特定命令

我对它很陌生bash,我什至不知道我想要的是否可能。如果我不知不觉地要求太多并且这是不可能的,请提前抱歉。

bash在进行小编辑后,我过于频繁地执行许多不同的脚本来进行测试和学习过程。

每分钟一遍又一遍地输入整个命令真的很烦人,浪费了我很多时间。

例如,当前执行脚本时我总是输入

su -c sh /sdcard/downloads/script1.sh

无论如何,我可以通过输入一个命令来分配整个命令来启动吗?一个字?我只想输入例如

script1 

这实际上应该执行

su -c sh /sdcard/downloads/script1.sh 

(或该实例的任何定义的命令)。

简而言之,一个单词和它对应的命令会有很多对,这样可以节省我的时间。

而且这个东西应该是永久的。

即使我关闭终端并重新打开它并输入指定的单词,它也应该运行相应的定义命令。

我希望有办法做到这一点。

答案1

~/.bashrc在您的文件中创建别名:

alias script1='su -c sh /sdcard/downloads/script1.sh'

该别名将在您启动的下一个 shell 会话中可用。

答案2

alias script1="su -c /sdcard/downloads/script1.sh && su -c /sdcard/downloads/script2.sh'。这看起来正确吗?

并不真地。这可能不是该走的路。这是不切实际的。它适用于该别名以及当前位置的这两个脚本,但您不想为您调用的每个脚本创建别名。您提到“许多不同的学习脚本”。

您必须组织制表符补全、命令历史记录、路径、别名、函数、脚本、bash 登录 ( .bashrc)。不需要太多,但必须协调。

注意:别名命令本身是制表符可补全的。 readline 函数shell-expand-line可以在执行之前扩展别名。这意味着您可以获得scri<tab><M-C-e>整行内容,因此您可以在按 Enter 之前进行编辑。只是为了展示什么是可能的。

要重复特殊命令,您宁愿使用命令历史记录。要执行普通脚本,您可以使用 shell 功能,例如别名、路径、函数和其他脚本。

相关内容