骑士注册 登录
Linux 中国◆开源社区 返回首页

绿色圣光的个人空间 https://linux.cn/space/3304 [收藏] [复制] [分享] [RSS]

日志

红旗 6 SP3 中使用 su -c 提示“Command not found”解决办法

热度 5已有 4589 次阅读2010-08-23 20:38 |

如题,在红旗6SP3中使用 su -c 执行需要超级用户权限的命令时会提示“Command not found”。例如:

$ su -c 'ifconfig'
密码:
bash: ifconfig: command not found

怎么办呢?难道每次都要切换到root吗?

其实,解决方法很简单,只要我们编辑 /etc/profile 文件,在相应位置添加如下红色标注的部分即可(哦!差点忘了,还要注销一下~):


# /etc/profile

# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc

pathmunge () {
        if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)" ; then
           if [ "$2" = "after" ] ; then
              PATH=$PATH:$1
           else
              PATH=$1:$PATH
           fi
        fi
}

# ksh workaround
if [ -z "$EUID" -a -x /usr/bin/id ]; then
        EUID=`id -u`
        UID=`id -ru`
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

pathmunge /usr/X11R6/bin after
# No core files by default
ulimit -S -c 0 > /dev/null 2>&1

if [ -x /usr/bin/id ]; then
        USER="`id -un`"
        LOGNAME=$USER
        MAIL="/var/spool/mail/$USER"
fi

HOSTNAME=`/bin/hostname`
HISTSIZE=1000

if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]; then
    INPUTRC=/etc/inputrc
fi

export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC

# pre-define alias
alias cp='cp -i'
alias mv='mv -i'
alias rm='rm -i'
alias cd..='cd ..'
alias cd...='cd ../..'

# you may re-define alias here to overwrite the pre-defined alias
for i in /etc/profile.d/*.sh ; do
    if [ -r "$i" ]; then
        . $i
    fi
done

unset i
unset pathmunge
返回顶部

分享到微信

打开微信,点击顶部的“╋”,
使用“扫一扫”将网页分享至微信。