普通用户ifconfig command not found问题

ifconfig 命令不能使用 该怎么配置环境变量呢?
自己尝试在普通用户家目录下的.profile下,在PATH="$HOME/bin:$PATH"下面增加PATH="$HOME:/sbin"并没有用 :frowning:

[quote=“Brock_T”]ifconfig 命令不能使用 该怎么配置环境变量呢?
自己尝试在普通用户家目录下的.profile下,在PATH="$HOME/bin:$PATH"下面增加PATH="$HOME:/sbin"并没有用 :frowning:[/quote]

可能与几个 dotfile 执行的顺序有关。
Debian 默认情况下,只有 login shell 才会读取 ~/.profile

Debian 默认情况下:
对于 login shell,读取的顺序是 /etc/profile, ~/.bash_profile, ~/.bash_login, ~/.profile。~/.bashrc 默认由 ~/.profile 执行
对于 interactive shell,读取的顺序是 /etc/bash.bashrc, ~/.bashrc。不读取 ~/.profile
其它发行版可能会有不同

一般来讲,在图形界面中打开的终端属于 interactive shell
不过流行的终端都提供选项。如 xfce4-terminal 和 gnome-terminal 都可选择 Run command as login shell

综上所述,在 ~/.bashrc 中增加

打开一个新 shell,或在当前 shell 中执行

参考
askubuntu.com/questions/463462/sequence-of-scripts-sourced-upon-login
tldp.org/LDP/Bash-Beginners-Guide/html/sect_03_01.html
fam.tuwien.ac.at/~schamane/_/blog:110814_bash_shell_startup_files_in_debian_squeeze
unix.stackexchange.com/questions/38175/difference-between-login-shell-and-non-login-shell
wiki.debian.org/DotFiles
wiki.debian.org/EnvironmentVariables

  1. ifconfig 位于/sbin 中,只有su或sudo组中的用户才能使用。
  2. 若ifconfig命令不能用,先检查两类用户的路径:

2.1 检查su用户路径

su
echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

2.2 检查sudo组路径

sudo -l Matching Defaults entries for yangdawei on debian: env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin

路径中有/sbin即表示可使用ifconfig命令。

  1. 上述是系统默认的配置,估计是您在@vickycq中提到的几个配置文件中变更了默认路径,使得PATH丢失了/sbin路径。请一方面按@vickycq的建议设置路径,一方面回忆下是否做过什么配置文件修改。

建议逐渐弃用 ifconfig,用 ip 命令。
最简单的查看各网卡信息的命令是 ip a。

噢,还有,ifconfig 不是拿来设置环境变量的啊,export 才是吧?

:smiley: