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.