dm9901 发表于 2017-11-20 11:00

[已经解决]执行source ~/.bashrc 无效

本帖最后由 dm9901 于 2017-11-25 17:26 编辑

各位前辈,我在学习alias命令时,想让添加的别名永久生效,当我执行完source ~/.bashrc命令后没有报错,用cat命令查看时也没有加进去。
请各位指点问题出在哪里?
版本:CentOS6.8,Mini安装。
谢谢!
以下为执行过程:
# cat ~/.bashrc
# .bashrc

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

# Source global definitions
if [ -f /etc/bashrc ]; then
    . /etc/bashrc
fi
# alias net='cat /etc/sysconfig/network-scripts/ifcfg-eth0'
# source ~/.bashrc
# cat ~/.bashrc
# .bashrc

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

# Source global definitions
if [ -f /etc/bashrc ]; then
    . /etc/bashrc
fi
# net
DEVICE=eth0
HWADDR=00:0c:29:50:bf:82
TYPE=Ethernet
UUID=333a0c4f-80d1-490c-85d8-36b361312a2e
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp
DNS1=218.85.152.99
USERCTL=no
PEERDNS=yes
IPV6INIT=no
#

yyu0378 发表于 2017-11-20 14:57

你理解错了在shell写alias是临时生效,注销或重启后就没有,要持久化要自己写进配置文件,而不是在终端执行,source的目的是在手动强制读取配置文件,这样就不用注销或重启就能看到效果了。

dm9901 发表于 2017-11-25 17:23

回复 2# yyu0378

哦,我明白您的意思了,原来是我的理解有问题。
1、直接执行完:alias net='cat /etc/sysconfig/network-scripts/ifcfg-eth0',只在当前环境下有效,一旦退出或者重启就没有了。
2、我们需要将此行写入到/etc/profile文件中,但是写入文件保存后并不会立即生效,要使此行生效需要以下2种方法之一:
A、重启系统
B、source /etc/profile   #此命令的意思就是不用重启系统,使该文件立即生效。

谢谢!!!

yyu0378 发表于 2017-11-26 14:28

更近一步说一下,命令写入/etc/profile就是全局设定,其他用户登录也是会生效,要想只有特定用户可以生效,那就只要写到对应户用家目录下的配置文件即可

ouyixq 发表于 2017-11-27 10:29

冬季回暖也有寒流,外出不忘多带衣。这里是广州欧毅建材《智能调光玻璃》《智能调光玻璃》

dm9901 发表于 2017-11-27 16:27

回复 4# yyu0378

收到,谢谢!!!:handshake
页: [1]
查看完整版本: [已经解决]执行source ~/.bashrc 无效