RHEL5.X 重啓網卡出現./network-functions: line 78: .: ifc

RHEL5.X 重啓網卡出現./network-functions: line 78: .: ifcfg-eth0: file not foundphp

錯誤信息:bash

[root@localhost network-scripts]# service network restart
Shutting down interface eth0: ./network-functions: line 78: .: ifcfg-eth0: file not found
[ OK ]
Shutting down loopback interface: ./network-functions: line 78: .: ifcfg-lo: file not found
[ OK ]
Bringing up loopback interface: ./network-functions: line 78: .: ifcfg-lo: file not found
Missing config file ifcfg-ifcfg-lo.
[ OK ]
Bringing up interface eth0: ./network-functions: line 78: .: ifcfg-eth0: file not found
Missing config file ifcfg-ifcfg-eth0.
[ OK ]網絡

因爲更新了bash版本。
/etc/sysconfig/network-scripts/network-functions fails under bash 4.1.
The reason is that bash 4 fixed a bug in the source function (http://tiswww.case.edu/php/chet/bash/COMPAT) that cause the function to include the current directory in the path when sourcing files.ide

解決方法:
在78行中,修改 . $CONFIG 爲 . ./$CONFIG
Line 78 in network-functions is ". $CONFIG" which means it wouldn‘t work if bash hadn‘t that bug.
It should be changed to ". ./$CONFIG" which solves the problem.oop

看了代碼後,發現要解決該問題,只須要作以下操做:
打開文件vi /etc/sysconfig/network-scripts/network-functions,改變以下行
第69行:
將 PARENTCONFIG='echo $CONFIG | sed 's/-[^-]*$//g'
改成 PARENTCONFIG="/etc/sysconfig/network-scripts/"rest

第70行:
將 PARENTDEVNAME=${PARENTCONFIG##/ifcfg-}
改成 PARENTDEVNAME=${PARENTCONFIG##
/}ip

第78行:
將 . $CONFIG改成
. ./$CONFIGci

再次重啓網絡,沒有發現以下報錯了get

相關文章
相關標籤/搜索