09Shell内置命令

Shell内置命令

:

1.相当于true

2.占位符,类似于python中的pass

3.适用于 while  -->

while :
do
	循环体
done

true

适用于 while -->

while true
do
	循环体
done

false

适用于 util -->

until false
do
	循环体
done

exit

exit 用于退出整个程序

break

结束当前循环,或跳出本层循环

示例

[root@hadoop04 shell_inner_command]# vim command_break_continue.sh
#!/bin/bash

for i in {A..D}
do
        echo -n $i
        for j in `seq 9`
        do
                if [ $j -eq 5 ];then
                		# 跳出循环
                		# break 数字  --> 跳出几层循环
                        break 1
                fi
                echo -n $j
        done
        echo
done

[root@hadoop04 shell_inner_command]# bash command_break_continue.sh 
A1234
B1234
C1234
D1234

continue

忽略本次循环剩余的代码,直接进行下一次循环 

示例

[root@hadoop04 shell_inner_command]# vim command_break_continue.sh
#!/bin/bash

for i in {A..D}
do
        echo -n $i
        for j in `seq 9`
        do
                if [ $j -eq 5 ];then
                		# 跳过循环
                		# continue 数字  --> 跳过几层循环
                        continue
                fi
                echo -n $j
        done
        echo
done

[root@hadoop04 shell_inner_command]# bash command_break_continue.sh 
A12346789
B12346789
C12346789
D12346789

shift

使位置参数向左移动,默认移动 1 位,可以使用 shift 2

示例

将传入的参数进行累加(注:参数个数不确定)

# 方法1:for循环的实现方式
[root@hadoop04 shell_inner_command]# vim command_shift01.sh 

#!/bin/bash

for i
do
        let sum+=$i
done

echo ${sum}
[root@hadoop04 shell_inner_command]# bash command_shift01.sh 1 4 5 6 
sum:16

# 方法2:shift的实现方式
[root@hadoop04 shell_inner_command]# vim command_shift02.sh 
#!/bin/bash

while [ $# -ne 0 ]
do
        let sum+=$1
        shift
done

echo ${sum}
[root@hadoop04 shell_inner_command]# bash command_shift.sh 1 4 5 6 
sum:16

使用传入的用户名进行创建用户(注:用户名个数不确定)

[root@hadoop04 shell_inner_command]# vim command_shift_create_user.sh 
#!/bin/bash

while [ $# -ne 0 ]
do
        useradd $1 && echo "$1 is created."
        shift 1
done

[root@hadoop04 shell_inner_command]# bash command_shift.sh ken alice jeve 
ken is created.
alice is created.
jeve is created.
原文地址:https://www.cnblogs.com/ElegantSmile/p/12161835.html