OK6410通过ssh登录后,PATH变量不对问题
本帖最后由 415619 于 2014-6-2 13:31 编辑大家好,
手里的OK6410,烧写了Linux-3.0.1,rootfs.yaffs2-nand2g。
移植了ssh(dropbear),通过串口,修改了root密码后,通过SecureCRT,使用root登录,能够成功登录,
基本命令使用正常,
网络登录的:
# echo $PATH
/usr/bin:/bin
串口登录的:# echo $PATH
/sbin:/usr/sbin:/bin:/usr/bin
导致像reboot之类的命令无法使用:
# reboot
-sh: reboot: not found
请问为什么两个环境变量不同呢?如何修改,才能在网络登录时,默认使用root的环境变量?
谢谢!
楼主,首先,reboot命令是可以使用的。还有,你列出了两个不同的环境变量,会不会是您移植的SSH有关系? 找了下资料,登录时,载入的信息:
/etc/profile
~/.profile
板子上profile中的PATH是/usr/bin:/bin,
查看centos的profile,里面有额外的处理,pathmunge () {
case ":${PATH}:" in
*:"$1":*)
;;
*)
if [ "$2" = "after" ] ; then
PATH=$PATH:$1
else
PATH=$1:$PATH
fi
esac
}
if [ -x /usr/bin/id ]; then
if [ -z "$EUID" ]; then
# ksh workaround
EUID=`id -u`
UID=`id -ru`
fi
USER="`id -un`"
LOGNAME=$USER
fi
# Path manipulation
if [ "$EUID" = "0" ]; then
pathmunge /sbin
pathmunge /usr/sbin
pathmunge /usr/local/sbin
else
pathmunge /usr/local/sbin after
pathmunge /usr/sbin after
pathmunge /sbin after
fi增加后,再登录,PATH内容就对了; 415619 发表于 2014-6-5 00:13 static/image/common/back.gif
找了下资料,登录时,载入的信息:
/etc/profile
~/.profile
嗯,问题解决就好
页:
[1]