echo "Select your option:"
echo "1. Change ip address"
echo "2. Add route"
echo "3. Reboot"
echo "4. Exit"
read A
case $A in
1)
echo "Add Ip address"
read IP
echo "Add Netmask"
read Netid
echo "Add name of interface"
read Interface
ifconfig ${Interface} ${IP}/${Netid}
if [ $? -ne 0 ];then
echo "Ip address not configured"
fi
;;
2)
echo "Add Destination"
read dst
echo "Add Netmask"
read Netid
echo "Add Gateway"
read gw
route add $dst mask $Netid gw $gw
if [ $? -ne 0 ];then
echo "Route not added"
fi
;;
3)
reboot
;;
4)
echo "Bye"
exit 0
;;
default)
echo "Wrong selection"
exit 1
esac
Run Code Online (Sandbox Code Playgroud)
错误:
[b104@b104 Downloads]$ ./NetworkUtility.sh
./NetworkUtility.sh: line 1: $'\r': command not found
Select your option:
1. Change ip address
2. Add route
3. Reboot
4. Exit
1
': not a valid identifier 7: read: `A
./NetworkUtility.sh: line 8: $'\r': command not found
./NetworkUtility.sh: line 9: syntax error near unexpected token `newline'
'/NetworkUtility.sh: line 9: `case $A in
[b104@b104 Downloads]$
Run Code Online (Sandbox Code Playgroud)
dst*_*zak 30
您似乎有Windows样式行结尾(\r\n) - 您需要将它们更改为unix样式(\n).如果已dos2unix安装,则可以使用它.你也可以用sed或者做awk.
ken*_*orb 11
发生错误,因为shell不理解DOS /类似Windows的行结尾,它期望LF而不是CRLF.
您需要首先配置您的编辑器以使用类似Unix的行结尾或使用dos2unix命令自动更改它,例如
dos2unix ./NetworkUtility.sh
Run Code Online (Sandbox Code Playgroud)
在以下位置阅读更多详细信息:'\r'找不到命令.
如果您正在使用Vagrant,请检查:Vagrant中的Windows CRLF到Unix LF问题
| 归档时间: |
|
| 查看次数: |
69247 次 |
| 最近记录: |