modify_ip.sh

代码:

       1 #!/bin/bash
       2
       3 read -p "Please insert a IP:" IP
       4 read -p "Please insert a NETMASK:" NETMASK
       5
       6 if grep "^BOOTPROTO=dhcp"  /etc/sysconfig/network-scripts/ifcfg-eth0 &> /dev/null;then
       7         sed -i "s/dhcp/static/" /etc/sysconfig/network-scripts/ifcfg-eth0 &> /dev/null
       8         sed -i "/IPADDR=.*/d" /etc/sysconfig/network-scripts/ifcfg-eth0 &> /dev/null
       9         sed -i "/NETMASK=.*/d" /etc/sysconfig/network-scripts/ifcfg-eth0 &> /dev/null
     10         sed -i "/BOOTPROTO/ a/IPADDR=$IP/n/NETMASK=$NETMASK" /etc/sysconfig/network-scripts/ifcfg-eth0 &> /dev/null
     11 else
     12         if grep "^BOOTPROTO=bootp"  /etc/sysconfig/network-scripts/ifcfg-eth0 &> /dev/null;then
     13                 sed -i "s/bootp/static/" /etc/sysconfig/network-scripts/ifcfg-eth0 &> /dev/null
     14                 sed -i "/IPADDR=.*/d" /etc/sysconfig/network-scripts/ifcfg-eth0 &> /dev/null
     15                 sed -i "/NETMASK=.*/d" /etc/sysconfig/network-scripts/ifcfg-eth0 &> /dev/null
     16                 sed -i "/BOOTPROTO/ a /IPADDR=$IP/n/NETMASK=$NETMASK" /etc/sysconfig/network-scripts/ifcfg-eth0 &> /dev/null
     17         else
     18                 sed -i "/IPADDR=.*/d" /etc/sysconfig/network-scripts/ifcfg-eth0 &> /dev/null
     19                 sed -i "/NETMASK=.*/d" /etc/sysconfig/network-scripts/ifcfg-eth0 &> /dev/null
     20                 sed -i "/BOOTPROTO/ a /IPADDR=$IP/n/NETMASK=$NETMASK" /etc/sysconfig/network-scripts/ifcfg-eth0 &> /dev/null
     21         fi
     22 fi
     23
     24 cat /etc/sysconfig/network-scripts/ifcfg-eth0

 

 

总结:

    

开始想用sed语句来判断BOOTPROTO后面是否为dhcpbootp,结果总是出错,总是重复多显示其他内容,最后还是用grep语句来判断。

觉得现在写的语句有点复杂,不知道有没有能一条语句就能判断BOOTPROTO后面是否为dhcpbootp

这个shell还不能判断输入的ip地址和子网掩码是否正确,需要改正。(9行处)

将一个字符用命令输入到一个文件的命令:

   read -p "Please insert a IP:" IP

   echo $IP >/root/iptemp.txt

iptemp.txtnetmasktemp.txt用来接收ip和子网掩码,以后用来判断ip地址是否正确

sed语句的一些命令还不太熟悉,需要多多练习。

 

#MicroXplorer Configuration settings - do not modify CAD.formats= CAD.pinconfig= CAD.provider= DAC1.DAC_OutputBuffer2=DAC_OUTPUTBUFFER_DISABLE DAC1.IPParameters=DAC_OutputBuffer2 Dma.Request0=SDADC2 Dma.RequestsNb=1 Dma.SDADC2.0.Direction=DMA_PERIPH_TO_MEMORY Dma.SDADC2.0.Instance=DMA2_Channel4 Dma.SDADC2.0.MemDataAlignment=DMA_MDATAALIGN_HALFWORD Dma.SDADC2.0.MemInc=DMA_MINC_ENABLE Dma.SDADC2.0.Mode=DMA_NORMAL Dma.SDADC2.0.PeriphDataAlignment=DMA_PDATAALIGN_HALFWORD Dma.SDADC2.0.PeriphInc=DMA_PINC_DISABLE Dma.SDADC2.0.Priority=DMA_PRIORITY_LOW Dma.SDADC2.0.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority File.Version=6 GPIO.groupedBy=Group By Peripherals KeepUserPlacement=false Mcu.CPN=STM32F373RCT6 Mcu.Family=STM32F3 Mcu.IP0=DAC1 Mcu.IP1=DMA Mcu.IP2=NVIC Mcu.IP3=RCC Mcu.IP4=SDADC2 Mcu.IP5=SYS Mcu.IP6=USART1 Mcu.IPNb=7 Mcu.Name=STM32F373R(8-B-C)Tx Mcu.Package=LQFP64 Mcu.Pin0=PC14-OSC32_IN Mcu.Pin1=PC15-OSC32_OUT Mcu.Pin10=VP_SYS_VS_Systick Mcu.Pin2=PF0-OSC_IN Mcu.Pin3=PF1-OSC_OUT Mcu.Pin4=PA5 Mcu.Pin5=PB2 Mcu.Pin6=PA9 Mcu.Pin7=PA10 Mcu.Pin8=PA11 Mcu.Pin9=VP_SDADC2_CONF0 Mcu.PinsNb=11 Mcu.ThirdPartyNb=0 Mcu.UserConstants= Mcu.UserName=STM32F373RCTx MxCube.Version=6.14.1 MxDb.Version=DB.6.0.141 NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false NVIC.DMA2_Channel4_IRQn=true\:0\:0\:false\:false\:true\:false\:true\:true NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false NVIC.ForceEnableDMAVector=true NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4 NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false NVIC.SysTick_IRQn=true\:15\:0\:false\:false\:true\:false\:true\:false NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false PA10.Locked=true PA10.Mode=Asynchronous PA10.Signal=USART1_RX PA11.GPIOParameters=PinState,GPIO_PuPd PA11.GPIO_PuPd=GPIO_NOPULL PA11.Locked=true PA11.PinState=GPIO_PIN_RESET PA11.Signal=GPIO_Output PA5.Locked=true PA5.Signal=COMP_DAC12_group PA9.Locked=true PA9.Mode=Asynchronous PA9.Signal=USART1_TX PB2.Locked=true PB2.Mode=IN6-Single-Ended zero reference PB2.Signal=SDADC2_AIN6P PC14-OSC32_IN.Mode=LSE-External-Oscillator PC14-OSC32_IN.Signal=RCC_OSC32_IN PC15-OSC32_OUT.Mode=LSE-External-Oscillator PC15-OSC32_OUT.Signal=RCC_OSC32_OUT PF0-OSC_IN.Mode=HSE-External-Oscillator PF0-OSC_IN.Signal=RCC_OSC_IN PF1-OSC_OUT.Mode=HSE-External-Oscillator PF1-OSC_OUT.Signal=RCC_OSC_OUT PinOutPanel.RotationAngle=0 ProjectManager.AskForMigrate=true ProjectManager.BackupPrevious=false ProjectManager.CompilerLinker=GCC ProjectManager.CompilerOptimize=6 ProjectManager.ComputerToolchain=false ProjectManager.CoupleFile=true ProjectManager.CustomerFirmwarePackage= ProjectManager.DefaultFWLocation=true ProjectManager.DeletePrevious=true ProjectManager.DeviceId=STM32F373RCTx ProjectManager.FirmwarePackage=STM32Cube FW_F3 V1.11.5 ProjectManager.FreePins=false ProjectManager.HalAssertFull=false ProjectManager.HeapSize=0x200 ProjectManager.KeepUserCode=true ProjectManager.LastFirmware=true ProjectManager.LibraryCopy=0 ProjectManager.MainLocation=Core/Src ProjectManager.NoMain=false ProjectManager.PreviousToolchain= ProjectManager.ProjectBuild=false ProjectManager.ProjectFileName=test.ioc ProjectManager.ProjectName=test ProjectManager.ProjectStructure= ProjectManager.RegisterCallBack= ProjectManager.StackSize=0x400 ProjectManager.TargetToolchain=MDK-ARM V5.32 ProjectManager.ToolChainLocation= ProjectManager.UAScriptAfterPath= ProjectManager.UAScriptBeforePath= ProjectManager.UnderRoot=false ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_DMA_Init-DMA-false-HAL-true,4-MX_DAC1_Init-DAC1-false-HAL-true,5-MX_USART1_UART_Init-USART1-false-HAL-true,6-MX_SDADC2_Init-SDADC2-false-HAL-true RCC.ADCPresc=RCC_ADC1PCLK2_DIV6 RCC.ADCoutputFreq_Value=2666666.6666666665 RCC.AHBFreq_Value=16000000 RCC.APB1CLKDivider=RCC_HCLK_DIV2 RCC.APB1Freq_Value=8000000 RCC.APB1TimFreq_Value=16000000 RCC.APB2Freq_Value=16000000 RCC.APB2TimFreq_Value=16000000 RCC.CECFreq_Value=32786.88524590164 RCC.CortexFreq_Value=16000000 RCC.FCLKCortexFreq_Value=16000000 RCC.FamilyName=M RCC.HCLKFreq_Value=16000000 RCC.HSEPLLFreq_Value=8000000 RCC.HSE_VALUE=8000000 RCC.HSICECFreq_Value=32786.88524590164 RCC.HSIPLLFreq_Value=4000000 RCC.HSI_VALUE=8000000 RCC.I2C1Freq_Value=8000000 RCC.I2CFreq_Value=8000000 RCC.IPParameters=ADCPresc,ADCoutputFreq_Value,AHBFreq_Value,APB1CLKDivider,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,CECFreq_Value,CortexFreq_Value,FCLKCortexFreq_Value,FamilyName,HCLKFreq_Value,HSEPLLFreq_Value,HSE_VALUE,HSICECFreq_Value,HSIPLLFreq_Value,HSI_VALUE,I2C1Freq_Value,I2CFreq_Value,LSI_VALUE,MCOFreq_Value,PLLCLKFreq_Value,PLLMCOFreq_Value,PLLSourceVirtual,PWRFreq_Value,RTCFreq_Value,RTCHSEDivFreq_Value,SDADCPresc,SDADCoutputFreq_Value,SYSCLKFreq_VALUE,SYSCLKSource,TIM2Freq_Value,USART1Freq_Value,USART2Freq_Value,USART3Freq_Value,USBFreq_Value,VCOOutput2Freq_Value RCC.LSI_VALUE=40000 RCC.MCOFreq_Value=16000000 RCC.PLLCLKFreq_Value=16000000 RCC.PLLMCOFreq_Value=8000000 RCC.PLLSourceVirtual=RCC_PLLSOURCE_HSE RCC.PWRFreq_Value=16000000 RCC.RTCFreq_Value=40000 RCC.RTCHSEDivFreq_Value=250000 RCC.SDADCPresc=RCC_SDADCSYSCLK_DIV4 RCC.SDADCoutputFreq_Value=4000000 RCC.SYSCLKFreq_VALUE=16000000 RCC.SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK RCC.TIM2Freq_Value=16000000 RCC.USART1Freq_Value=16000000 RCC.USART2Freq_Value=8000000 RCC.USART3Freq_Value=8000000 RCC.USBFreq_Value=16000000 RCC.VCOOutput2Freq_Value=8000000 SDADC2.Channel-2\#ChannelRegularConversion=SDADC_CHANNEL_6 SDADC2.ConfIndex-2\#ChannelRegularConversion=SDADC_CONF_INDEX_0 SDADC2.EnableInjectedConversion=ENABLE SDADC2.EnableRegularconversion=ENABLE SDADC2.IPParameters=NbrOfConversionFlag,InputMode0,EnableRegularconversion,Channel-2\#ChannelRegularConversion,ConfIndex-2\#ChannelRegularConversion,EnableInjectedConversion,InjectedRank-3\#ChannelInjectedConversion,InjectedChannel-3\#ChannelInjectedConversion,InjectedConfIndex-3\#ChannelInjectedConversion,InjNumberOfConversion,InjectedChannelsSelection,InjectedTrigger SDADC2.InjNumberOfConversion=1 SDADC2.InjectedChannel-3\#ChannelInjectedConversion=SDADC_CHANNEL_6 SDADC2.InjectedChannelsSelection=SDADC_CHANNEL_6 SDADC2.InjectedConfIndex-3\#ChannelInjectedConversion=SDADC_CONF_INDEX_0 SDADC2.InjectedRank-3\#ChannelInjectedConversion=1 SDADC2.InjectedTrigger=SDADC_SOFTWARE_TRIGGER SDADC2.InputMode0=SDADC_INPUT_MODE_SE_ZERO_REFERENCE SDADC2.NbrOfConversionFlag=1 SH.COMP_DAC12_group.0=DAC1_OUT2,Enable_DAC_OUT2 SH.COMP_DAC12_group.ConfNb=1 USART1.IPParameters=VirtualMode-Asynchronous USART1.VirtualMode-Asynchronous=VM_ASYNC VP_SDADC2_CONF0.Mode=ConfigZero VP_SDADC2_CONF0.Signal=SDADC2_CONF0 VP_SYS_VS_Systick.Mode=SysTick VP_SYS_VS_Systick.Signal=SYS_VS_Systick board=custom这个配置有没有问题
05-11
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值