当前位置: 技术问答>linux和unix
重启后ifconfig失效的原因是什么?
来源: 互联网 发布时间:2016-09-30
本文导语: 新装的red hat linux,先运行了下ifconfig命令,说不认识.吃惊,去root.bash_profile文件打开一看,sbin是加在路径里的.又运行sbinifconfig,可以执行. 同事过来运行了". sbinifconfig",然后就可以直接运行ifconfig命令了...
新装的red hat linux,先运行了下ifconfig命令,说不认识.吃惊,去root.bash_profile文件打开一看,sbin是加在路径里的.又运行sbinifconfig,可以执行.
同事过来运行了". sbinifconfig",然后就可以直接运行ifconfig命令了.请注意,那个"."和"sbinifconfig"两段字符间是有个空隔符的......不明白是为什么.
更悲剧的是,一会重启了系统一下,ifconfig命令又不能直接运行了,又得把上面步骤重复一遍才行.请教各位,这是什么原因?我该如何改过来?
同事过来运行了". sbinifconfig",然后就可以直接运行ifconfig命令了.请注意,那个"."和"sbinifconfig"两段字符间是有个空隔符的......不明白是为什么.
更悲剧的是,一会重启了系统一下,ifconfig命令又不能直接运行了,又得把上面步骤重复一遍才行.请教各位,这是什么原因?我该如何改过来?
|
首先纠正一下 linux的路径是/
你是不是最近修改过关于环境变量设置的东西?
你是从普通用户切换到root用户的吗?
切换的时候别直接su 要su - 这样到才会启用root用户自己的环境变量
你是不是最近修改过关于环境变量设置的东西?
你是从普通用户切换到root用户的吗?
切换的时候别直接su 要su - 这样到才会启用root用户自己的环境变量
|
man su里面有讲的
su -
su -l
su --login
是一个意思 这样才会让该用户目录下的.bash_profile等设定文件的环境变量生效
.和source都是bash的内建命令 用来在当前shell环境里执行设定环境变量的文件
而./ 点后没有空格的指的是当前目录
比较一下
. /path/file 等于source /path/file 是运行/path/file 并让环境变量生效
./filename 是执行当前目录下的filename 如果filename没有执行权限 就会报错
也就是说前者的.是命令 后者的.是当前目录
你也可以ls .
看看效果
|
su root 只是获取root用户的身份
su - root 同时会执行root用户的环境文件
. /root/.bash_profile 在当前的shell环境中执行指定的脚本
如果没有前面的点,shell会开启一个新的子进程执行那个脚本,然后脚本执行之后的环境变量设置不会在当前环境中生效
su - root 同时会执行root用户的环境文件
. /root/.bash_profile 在当前的shell环境中执行指定的脚本
如果没有前面的点,shell会开启一个新的子进程执行那个脚本,然后脚本执行之后的环境变量设置不会在当前环境中生效
|
|
path环境变量没有设置对。
|
. sbinifconfig --这个能运行吗?ifconfig不是shell脚本
|
我觉得他应该写错了 同事应该执行的是. /root/.bash_profile
|
这个是初始化配置文件。。。
|
. /file
经常是你修改了一些配置文件,你希望能够不用重新登录就能使用这些更改过的文件,
经常是你修改了一些配置文件,你希望能够不用重新登录就能使用这些更改过的文件,