代码: 全选
echo "PATH=$PATH:/home/bin">>/root/.bashrc
echo "export PATH">>/root/.bashrc
source /root/.bashrc
关闭这次会话后再重开一个ssh就可以了
把/root/.bashrc换成 /etc/profile效果也是一样的
比较奇怪的是同样的命令source /root/.bashrc,手动直接输入就能生效
想请教下大家应该怎么改
代码: 全选
echo "PATH=$PATH:/home/bin">>/root/.bashrc
echo "export PATH">>/root/.bashrc
source /root/.bashrc
代码: 全选
#!/bin/bash
#shtest.sh
echo "PATH=$PATH:/home/bin">>/root/.bashrc
echo "export PATH">>/root/.bashrc
source /root/.bashrc
代码: 全选
eval "source /root/.bashrc"
谢谢回复!我也是这样理解的,但是改的是用户配置文件,应该是和shell无关的,只要用root登录都会生效的,事实是我重开一个ssh连接用root来登录就生效了,很奇怪little_gg 写了:是这样的
你执行source的时候是处于你当前shell的子shell下,所以环境变量是对你这个子shell起作用了,而你当前shell必须退出才能读取到这个环境变量
你可以用exec shtest.sh来达到你的目的
我是这样理解的,如果有错误请指出