shell脚本命令

最后更新日期:2024-03-21

一、echo

  • 打印变量
#! /bin/bash

a=1					#所有变量均为字符串,a=1中间不能有空格
echo $a				#输出 1
echo ${a}			#输出 1
echo '$a'			#输出 $a
echo '${a}'			#输出 ${a}

二、特殊变量

1、$n

  • 获取输入参数
#! /bin/bash

echo $1,$2,$3		

#执行程序
./test.sh 1 2 3		 #输出 1,2,3

2、$#

  • 获取输入参数个数
#! /bin/bash

echo $#		

#执行程序
./test.sh 1 2 3		 #输出 3

3、$*

  • 获取整体的输入参数。参数是分离的,比如可以使用for循环读取
#! /bin/bash

echo $*		

#执行程序
./test.sh 1 2 3		 #输出 1 2 3

4、$@

  • 获取整体的输入参数
#! /bin/bash

echo $@		

#执行程序
./test.sh 1 2 3		 #输出 1 2 3

5、$?

  • 获取最后一次执行的命令的返回结果,0代表上一次命令执行正确,非0则不正确
#! /bin/bash

echo $?		

#执行程序
echo 1
./test.sh		 	#输出 0

三、运算符

1、expr

#! /bin/bash

expr 1 + 3			#中间必须有空格		

#执行程序
./test.sh		 	#输出 4

2、$[n+n]

  • 基本运算
#! /bin/bash

a=2
b=3
echo $[$a+$b]		

#执行程序
./test.sh		 	#输出 5

三、条件判断

1、[ condition ]

  • 条件成立返回0,失败返回非0
  • 括号中间必须有空格
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
root@embedsky-virtual-machine:/home/embedsky# [ 20 -gt 15 ]
root@embedsky-virtual-machine:/home/embedsky# echo $?
0

2、&&

  • 与运算,两者成立返回0,否则返回非0
root@embedsky-virtual-machine:/home/embedsky# [ 20 -gt 15 ] && [ 20 -eq 15 ]
root@embedsky-virtual-machine:/home/embedsky# echo $?
1

3、||

  • 或运算,其中一个条件成立返回0,都不成立返回非0
root@embedsky-virtual-machine:/home/embedsky# [ 20 -gt 15 ] || [ 20 -eq 15 ]
root@embedsky-virtual-machine:/home/embedsky# echo $?
0

四、流程控制

1、if

  • 语法:
# if后面要有空格,中括号中间要有空格
# 写法1:
if [ condition ];then
	...
elif [ condition ];then
	...
fi

# 写法2:
# then换行写,中括号后面就不用分号
if [ condition ]
then
	...
elif [ condition ]
then
	...
fi
  • 例子:
#! /bin/bash

if [ $1 -eq 1 ]
then
        echo 1
elif [ $1 = 2 ]
then
        echo 2
fi

2、case

  • 语法:
case $变量名 in
"值1")
	...
;;
"值2")
	...
;;
*)
	...
;;
esac
  • 例子:
#! /bin/bash

case $1 in
"1")
        echo 1
;;

"2")
        echo 2
;;

*)
        echo 100
;;
esac

3、for

  • 语法:
# 写法1:
for(( 初始值;循环控制条件;变量变化 ))
do
	...
done

# 写法2:
for in 值1 值2 值3
do
	...
done
  • 例子:
# 例子1:

#! /bin/bash
s=0
for((i=1; i<=100; i++))
do
        s=$[ $s + $i ]
done:
echo $s

# 例子2:

#! /bin/bash
for i in $*
do
        echo $i
done

4、while

  • 语法:
while [ condition ]
do
	...
done
  • 例子
#! /bin/bash

i=1
s=0
while [ $i -le 100 ]
do
        s=$[ $s + $i ]
        i=$[ $i + 1 ]
done
echo $s

五、read读取控制台输入

  • read(选项)(参数)
  • 选项:
    • -p:输入提示符
    • -t :等待读取值的时间
  • 参数:
    • 变量:读取输入的值存放到变量
#! /bin/bash

read -t 7 -p "press any key to continue: " KEY
echo $KEY

相关推荐

  1. linux&shell日常脚本命令之ps命令

    2024-03-22 03:54:01       35 阅读
  2. Shell脚本

    2024-03-22 03:54:01       30 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-22 03:54:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-22 03:54:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-22 03:54:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-22 03:54:01       18 阅读

热门阅读

  1. 打印租赁行业现状与未来发展趋势分析

    2024-03-22 03:54:01       23 阅读
  2. 发现开源宝藏——stepui

    2024-03-22 03:54:01       20 阅读
  3. C++——类和对象(上)

    2024-03-22 03:54:01       21 阅读
  4. PCL拟合并绘制平面(一)

    2024-03-22 03:54:01       18 阅读
  5. DPDK系列之四十二DPDK应用网络编程

    2024-03-22 03:54:01       21 阅读
  6. 深入理解数据结构森林

    2024-03-22 03:54:01       23 阅读
  7. texStudio用Springer模板排坑

    2024-03-22 03:54:01       23 阅读
  8. 【leetcode】动态规划专题

    2024-03-22 03:54:01       16 阅读
  9. 使用Tesseract识别中文 并提高精度

    2024-03-22 03:54:01       19 阅读
  10. React面试题

    2024-03-22 03:54:01       15 阅读