例如我可以设置:
gb = cd /media/Dan/evolution
...这样每次我gb
在 bash 中执行时,我都可以cd
到那个特定的目录?
我在网上找到了一些东西:alias
命令。但似乎无法完成上面的工作。
有可能做到吗?如何?
答案1
只需输入:
alias gb='cd /media/Dan/evolution'
要使此设置永久化(以便在重新启动或打开另一个控制台后它会保留),请将此行添加到文件 ~/.bashrc (假设您使用 bash 作为默认 shell)
答案2
别名的替代方案
gb() { cd /media/Dan/evolution; }
这定义了 shell 函数 gb,它不带任何参数,并执行 cd /media/Dan/evolution。与其他建议一样,可以将其添加到 ~/.bashrc
答案3
这是可能的,并且alias
是您正在寻找的命令。例如,alias ll="ls -l"
在 bash 中,您可以键入ll
而不是ls -l
.请注意,设置别名时不使用空格。man alias
也可能有用。
答案4
或者,可以编写一个 C 程序来调用所需的命令并将其保存到 /usr/bin。
#include <stdio.h>
#include <string.h>
int main () {
char command[50]; //notice you can change this to fit your needs
int return_val;
strcpy( command, "echo \"cd /media/Dan/evolution\" | bash -i" );
return_val = system(command);
//this is equivalent to entering the command in a new bash,
//which will return and exit
return return_val;
}
要编译它,请转到保存源代码的目录(在 bash 中)并执行(您可能需要 sudo):
gcc ./gb.c -o /usr/bin/gb
经过进一步研究这里,我意识到简单地输入命令system()
对于 bash 内置命令不起作用。这就是为什么您需要创建一个交互式 bash 实例并向其回显您的命令。它只是过于复杂并且可能没用,除非您想缩短对 shell 脚本的调用(some_script
而不是sh ~/radgeRayden/Scripts/some_script
)。