Str*_*rae 10 command-line bash alias bashrc
在玩终端时,我注意到有很多方法可以创建永久别名。
我是 Linux 新手,据我所知,正在做:
sudo ln -s /path/to/executable /usr/local/bin/desired_alias
desired_alias = '/path/to/executable'
到~/.bashrc
取消注释这些行~/.bashrc
:
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
Run Code Online (Sandbox Code Playgroud)
并把desired_alias = '/path/to/executable'
成~/.bash_aliases
都具有相同的效果。
第一种方法和第二种方法有什么区别?
Li *_* Lo 11
第一种方法不是创建别名,而是创建符号链接。符号链接是符号链接的缩写:
符号链接是充当指向其他文件的指针的文件。[...] 符号链接是一种特殊类型的文件,其内容是一个字符串,该字符串是另一个文件的路径名,链接所指向的文件。换句话说,符号链接是指向另一个名称的指针,而不是指向底层对象的指针。
实际上,只有使用第二种方法才能创建别名。
当一个词用作简单命令的第一个词时,别名允许用一个字符串替换一个词。shell 维护一个别名列表,可以使用 alias 和 unalias 内置命令设置和取消设置(请参阅下面的 SHELL BUILTIN COMMANDS)。每个简单命令的第一个单词,如果没有被引用,则检查它是否有别名。如果是,则该词将替换为别名的文本。
您可以在任何可以键入命令的地方定义别名并让 shell(在本例中为bash)解释它,但是为了让别名在其他 shell 中可用,它需要在由 shell 解释的文件中定义启动时(外壳启动,而不是计算机启动)。
对于 bash,这些是/etc/bash.bashrc
(系统范围内的)和~/.bashrc
. 这些文件在 shell 以交互模式启动时被解释(比如使用Terminal
)。我不会提及配置文件,因为它们用于不同的目的。
因此,您希望添加别名以~/.bashrc
使它们在每个交互式 shell 中可用。
该.bash_aliases
方法完成与放入别名完全相同的事情,~/.bashrc
但具有更容易被程序解析和操作的额外好处。
的. ~/.bash_aliases
手段源(负载)_~/.bash_aliases_
在当前运行的外壳的情况下。
归档时间: |
|
查看次数: |
6502 次 |
最近记录: |