在工作中我需要不断地向 bashrc 添加别名命令,其中大多数命令需要由其他用户运行。有没有什么方法可以从外部源向 bashrc 添加别名命令?
答案1
用户主目录中的许多配置文件只是覆盖/添加到其中的配置文件/etc
- 例如,用户主目录中的 GIMP 设置位于~/.gimp-2.*
,它添加到系统范围的配置中/etc/gimp/2.0
。
因此~/.bashrc
,你可以编辑系统范围的配置文件/etc/bash.bashrc
(对于函数/别名) 或者/etc/profile
(针对环境方面)- 完整列表可从此处获取man bash
:
FILES
/bin/bash
The bash executable
/etc/profile
The systemwide initialization file, executed for login shells
/etc/bash.bash_logout
The systemwide login shell cleanup file, executed when a login shell exits
~/.bash_profile
The personal initialization file, executed for login shells
~/.bashrc
The individual per-interactive-shell startup file
~/.bash_logout
The individual login shell cleanup file, executed when a login shell exits
~/.inputrc
Individual readline initialization file
文件中针对一些 Linux 系统给出了此警告:
# It's NOT a good idea to change this file unless you know what you
# are doing. It's much better to create a custom.sh shell script in
# /etc/profile.d/ to make custom changes to your environment, as this
# will prevent the need for merging in future updates.
因此,您可以编辑这些文件,您可能需要先备份它们(cp /etc/bash.bashrc /etc/bash.bashrc-backup
例如),或者在中创建 shell 脚本/etc/profile.d
- 例如,您可以使用以下命令创建一个(使用 sudo/as root):
touch /etc/profile.d/custom.sh
chmod +x /etc/profile.d/custom.sh
然后打开它nano /etc/profile.d/custom.sh
#!/bin/sh
alias ls='ls -lah'
并通过查看它是否出现在输出中来检查它是否有效alias
- 请注意,您可能需要注销/登录或重新启动才能看到任何更改(如果您不想,source /etc/profile
在任何更改后运行可能会有效)
答案2
去/etc/bash.bashrc
vim /etc/bash.bashrc
并在那里创建你的别名。
在最后一行添加您的别名。
别名 abc="随便"
该别名将成为所有用户的全局别名。
但出于安全原因,我们不建议您这样做。
有profile.d
一个包含用户环境文件的目录
去
cd /etc/profile.d/
vim 别名
并在此添加您的别名。
不会影响您的系统文件。这是处理环境文件的安全且正确的方法。
答案3
答案4
我对 Linux 操作系统还很陌生,但我绘制了一个 bash 脚本,可以修改所有用户的 .bashrc 文件,而不是系统文件 /etc/.bashrc 文件。
#!/bin/bash
X=$( cat etc/passwd | cut -f1 -d: ) #All-users
For X in /home/*/.bashrc ; do
echo "alias ls='ls -al'" >> $X
2>/dev/null
done
source $X
exit 0
好的,我知道该脚本可以运行,但我不知道它是否没有错误:) 您还可以修改它,使其不涉及所有用户,也许您可以为所有需要定制其 .bashrc 文件的用户创建一个文件。