23.5. Loops for, while and until

23.5.1. for

		
#!/bin/bash
for i in 1 2 3 4 5
do
   echo "Welcome $i times"
done

for i in $( ls ); do
    echo item: $i
done

for i in `seq 1 10`;
do
    echo $i
done

for i in {1..5}
do
   echo "Welcome $i times"
done

for (( c=1; c<=5; c++ ))
do
	echo "Welcome $c times..."
done

for ((i=1; $i<=9;i++)); do echo $i; done
		
		
for i in {0..10..2}
do
    echo "Welcome $i times"
done

for i in $(seq 1 2 20)
do
   echo "Welcome $i times"
done
		

单行实例

for ip in {1..10};do echo $ip; done

for i in `seq 1 10`;do echo $i;done

for ip in {81..92}; do ssh root@172.16.3.$ip date; done

for n in  {23..32} {49,50} {81..92}; do mkdir /tmp/$n; echo $n; done
		
		
for keyword in bash cmd ls
do
	echo $keyword
done 

string="aaa bbb ccc ddd" && for word in $string; do echo "$word"; done

	
files=( "/etc/passwd" "/etc/group" "/etc/hosts" )
for file in "${files[@]}"
do
    echo $file
done
		
		

infinite loops

		
#!/bin/bash
for (( ; ; ))
do
   echo "infinite loops [ hit CTRL+C to stop]"
done


		
		

find file

#!/bin/bash
for file in /etc/*
do
	if [ "${file}" == "/etc/resolv.conf" ]
	then
		countNameservers=$(grep -c nameserver /etc/resolv.conf)
		echo "Total  ${countNameservers} nameservers defined in ${file}"
		break
	fi
done
		

backup file

#!/bin/bash
FILES="$@"
for f in $FILES
do
        # if .bak backup file exists, read next file
	if [ -f ${f}.bak ]
	then
		echo "Skiping $f file..."
		continue  # read next file and skip cp command
	fi
        # we are hear means no backup file exists, just use cp command to copy file
	/bin/cp $f $f.bak
done
		
for n in  {23..32} {49,50} {81..92}; do mkdir /tmp/$n; echo $n; done
		

23.5.2. while

		
#!/bin/bash
COUNTER=0
while [  $COUNTER -lt 10 ]; do
    echo The counter is $COUNTER
    let COUNTER=COUNTER+1
done
		
		
		
while read name age
do
	echo $name $age
done << EOF
neo 30
jam 31
john 29
EOF


while read name age
do
	[[ $age -gt 30 ]] && echo $name
done << EOF
neo 30
jam 31
john 29
EOF
		
		
		
$ cat mount.sh
#!/bin/sh
while read LINE
do

	s=`echo $LINE|awk '{print $1}'`
	d=`echo $LINE|awk '{print $2}'`

	umount -f $d
	mount -t nfs4 $s $d

done < mount.conf

$ cat mount.conf
172.16.0.1:/	/www/logs/1
172.16.0.2:/	/www/logs/2
172.16.0.3:/	/www/logs/3
172.16.0.4:/	/www/logs/4
172.16.0.5:/	/www/logs/5
		
		

读一行

		
while IFS='' read -r line || [[ -n "$line" ]]; do
	echo "Text read from file: $line"
done < "$1"
		
		
		

23.5.3. until

		
#!/bin/bash
COUNTER=20
until [  $COUNTER -lt 10 ]; do
    echo COUNTER $COUNTER
    let COUNTER-=1
done
		
		




原文出处:Netkiller 系列 手札
本文作者:陈景峯
转载请与作者联系,同时请务必标明文章原始出处和作者信息及本声明。

### 回答1: 设计线性和开关电源的控制回路是一项重要的工作,可以保证电源的性能和稳定性。线性和开关电源是常见的电源类型,其工作原理和性能要求略有不同。 线性电源的控制回路主要包括电压反馈回路和当前反馈回路。电压反馈回路通过测量输出电压,并经过稳压器和放大器进行反馈控制。当前反馈回路则测量输出电流,并通过电流传感器和比较器对电流进行反馈控制。这些回路可以调整电源的输出电压和电流,以维持所需的稳定状态。 开关电源的控制回路则更加复杂。开关电源通过开关器件的周期性开关操作来控制输出电压和电流。其控制回路一般包括脉冲宽度调制器(PWM)和反馈控制回路。PWM负责将输入信号转换为开关器件的开关信号,以控制输出电压和电流的波形。反馈控制回路通过测量输出电压和电流,并将其与参考信号进行比较,通过调整PWM的占空比来实现输出的稳定性。 在设计控制回路时,需要考虑电源的负载变化、输出纹波、响应时间等因素。同时,选择合适的控制器、传感器和滤波器等元件也是很重要的。通过模拟和仿真等手段,可以优化和调整控制回路的参数,以满足特定的设计要求。 总之,设计线性和开关电源的控制回路需要综合考虑电源的特性和要求,并选择合适的控制方法和元件,以实现稳定、高效的电源输出。 ### 回答2: 设计线性和开关电源的控制环路涉及电源系统的稳定性和反馈机制。电源控制环路的设计目标是在负载变化时保持输出电压的稳定性和精确性。 线性电源的控制环路通常包括一个稳压器,在输入电压和负载变化时调整输出电压以保持在设定范围内。其中最常见的稳压器是线性稳压器和开环控制的电源。 开关电源的控制环路更复杂。开关电源通常通过高频开关和磁性元件(例如变压器和电感器)来转换输入电压。控制环路中的关键组件包括比较器、误差放大器、PWM(脉宽调制)控制器和反馈网络。通过比较输出电压与设定值,误差放大器将误差信号放大并传递给PWM控制器。PWM控制器以一定的频率开关开关管,调整开关管的开关周期和占空比,以使输出电压保持在设定范围内。 在设计控制环路时,需要考虑几个因素。首先,必须选择恰当的控制架构,包括类型和配置。其次,需要确定合适的反馈机制,以确保输出电压的准确性和稳定性。并且,必须采取适当的补偿措施,以保证系统的稳态和动态响应。最后,需要进行模拟和实验验证,以确保控制环路的性能和可靠性。 综上所述,设计线性和开关电源的控制环路是一项复杂的任务,涉及到稳定性、反馈机制和精确性。正确设计和实施控制环路可以确保电源系统的性能和稳定性。 ### 回答3: 线性电源和开关电源是常用的电源类型,用于为电子设备提供稳定的电压和电流。设计控制回路对于这两种电源都非常重要。 对于线性电源,控制回路的设计旨在实现稳定的输出电压。线性电源基于传统的电压调节器原理,输入电压经过变压器降压后,通过功率晶体管进行调整,以实现所需的输出电压。控制回路可以监测输出电压,并在需要时调整功率晶体管的导通时间或频率,以保持输出电压的稳定性。这可以通过使用反馈电路来实现,其中输出电压与参考电压进行比较,并根据差异来调整控制元件。设计控制回路还需要考虑输入电压变化、负载变化等因素对输出电压的影响。 对于开关电源,控制回路的设计旨在实现高效率和稳定的输出。开关电源通过周期性地开关功率开关,将输入电压转换为高频脉冲信号,再经过滤波器和转换器,最后输出所需的稳定电压。控制回路可以监测输出电压和电流,并相应地调整开关时间和频率,以保持输出的稳定性和效率。这可以通过使用PWM(脉宽调制)技术来实现,其中输出电压与参考电压进行比较,并根据差异来调整开关元件的控制信号。设计控制回路还需要考虑输入电压范围、负载变化、开关频率等因素对输出稳定性和效率的影响。 总结起来,设计控制回路对于线性电源和开关电源都是至关重要的。通过使用适当的反馈电路和PWM技术,可以确保输出电压稳定、效率高,并满足电子设备的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值