如下:
[root@fhrdr ~]# ifconfig
[root@fhrdr ~]#
可能的原因:
1、linux的环境问题造成的
1、检查ipconfig的环境
[root@fhrdr ~]# echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/root/bin
[root@fhrdr ~]#
检查/sbin是否在PATH环境内,如果不在的话就添加进去
解决方式:
[root@fhrdr ~]# export PATH=$PATH:/sbin
2、检查ifconfig命令
先检查一下是否为空
[root@fhrdr ~]# file /sbin/ifconfig
/sbin/ifconfig: empty
[root@fhrdr ~]#
或者
[root@fhrdr ~]# cat /sbin/ifconfig
[root@fhrdr ~]#
很多刚学写shell的人经常有个疑问,为什么if后面要加上空格?比如下面第1行会报错,第2行正常
原因参考第3行命令,whereis [
可见左中括号是个单独的命令文件!
前后不加空格跟其它字符连接起来,那就不是 [ 这个命令了
文件表达式-e filename 如果 filename存在,则为真
-d filename 如果 filename为目录,则为真
-f filename 如果 filename为常规文件,则为真
-L filename 如果 filename为符号链接,则为真
-r filename 如果 filename可读,则为真
-w filename 如果 filename可写,则为真
-x filename 如果 filename可执行,则为真
-s filename 如果文件长度不为0,则为真
-h filename 如果文件是软链接,则为真
filename1 -nt filename2 如果 filename1比 filename2新,则为真。
filename1 -ot filename2 如果 filename1比 filename2旧,则为真。
整数变量表达式
-eq 等于
-ne 不等于
-gt 大于
-ge 大于等于
-lt 小于
-le 小于等于
字符串变量表达式
If [ b ] 如果string1等于string2,则为真
字符串允许使用赋值号做等号
if [ string2 ] 如果string1不等于string2,则为真
if [ -n string ] 如果string 为空,则为真
if [ $sting ] 如果string 非空,返回0 (和-n类似)
if [ ! 表达式 ]
if [ ! -d num
if [ 表达式1 –a 表达式2 ]
if [ 表达式1 –o 表达式2 ]
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)