小山村

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

       最近有一位朋友遇到一件怪事,所有用户登陆系统后会都会提示“-bash: export: `PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/python3/bin': 不是有效的标识符” 一直查不到原因, 远程查看到找到了原因,特此记录一下,以备后用。 

       操作系统为 Centos7.4 x64位,故障现象为所有用户登陆系统后都会提示“不是有效的标识符”如下所示

Connecting to 192.168.72.139:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.

Last login: Thu Apr  9 11:10:58 2020 from 192.168.72.1
-bash: export: `PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/python3/bin': 不是有效的标识符

   既然是所有用户都有此提示,说明应该是全局配置出问题了,需要到/etc配置中查找原因。 查看/etc/profile中未发现问题,但其中一行信息提示了我

         for i in /etc/profile.d/*.sh /etc/profile.d/sh.local ; do

         看这类似于nginx的思想,默认的配置文件会指向一个目录 ,只要在这个目录中放置了配置文件就会自动重载并生效。

         cd 到该目录中会找到相应的python3.sh的配置文件# pwd

/etc/profile.d
# ls
256term.csh                   bash_completion.sh  colorls.csh  flatpak.sh  less.csh       python3.sh  vim.sh      which2.sh
256term.sh                    colorgrep.csh       colorls.sh   lang.csh    less.sh        sh.local    vte.sh
abrt-console-notification.sh  colorgrep.sh        csh.local    lang.sh     PackageKit.sh  vim.csh     which2.csh

    查看 python3.sh文件内容如下

# more python3.sh 
export PATH=$PATH:/usr/local/python3/bin

      不知道大家看出来了没有, 3,2,1  。。。。。。

       问题就出在那个=号上面, 这里的=使用的是全角符号,而我们应该使用的是半年符号。  这两者是有区别的,但不仔细也看不出个所以然来  。。。

export PATH=$PATH:/usr/local/python3/bin

    修改后保存退出,重新登陆即可 。

 

posted on 2020-04-09 16:09  小山村  阅读(1914)  评论(0编辑  收藏  举报