Linux Ubuntu Shell编程

shell编程概念及作用

  • What:shell脚本编程是一种脚本编程语言,用于编写脚本文件来执行各种系统操作和自动化任务。
  • Why:可以消除繁琐的工作使其自动化,提高工作效率;shell脚本也是可移植的。可以在不同的linux系统上运行;学习成本低。
  • How:通过shell编程可以将一系列命令组合成脚本文件,并通过解释器(如Bush)执行。

Shell脚本开发步骤

  1. 使用vscode或者vim进行编辑,文件名以.sh结尾
  2. 添加权限:.sh文件默认是没有执行权限的,使用chmod+x 文件名.sh命令增加权限
  3. 执行shell脚本:./文件名.sh、

Shell类型

本篇以bash shell为例,如要添加一下代码

#!/bin/bash     //类似于c语言中的头文件

Shell中“”的使用

""   将“”中的值按照变量的值打印
''   将‘’内部内容原封不动的打印
``   将``中的内容按照命令执行
#实例

#!/bin/bash

#变量"i"
i=100

#保留字面值
echo "hello world"
#替换变量值
echo "hello $i"

#保留字面值
echo 'hello world'
#不替换变量的值
echo 'hello $i'

#执行date命令
echo Today is 'date'
#执行ls命令
echo'ls'

Shell中的变量

  • 自然变量

进程默认储存运行环境信息的变量
PATH:存放程序运行目录信息的环境变量
PWD:进程当前所在目录的绝对环境变量
HOME:存放登录用户家目录的环境变量

  • 位置变量

$1:传入第一个参数
$2:传入第二个参数
$3:传入第三个参数
…:…
$9:传入第九个参数
$0:程序名
$#:传入参数的个数
$$:Shell脚本运行的进程ID
$?:上一条Shell语句执行结果

  • 自定义变量(没有变量类型之分,全部都是字符串)

i=100
i=“helloworld”

输入和输出

echo:在命令行输出
read:在命令行输入(输入完一个值之后,按回车,不要按空格)

#输出
echo "输出"
#输入
read num1

scho "$num1"

Shell中的流程控制

if条件语句

if 条件
then
	语句1
	语句2
else
	语句3
	语句4
fi
test	测试文件类型及其值得大小
/*tset中:
-e     测试文件是否存在
-eq    相等   
-ge    大于等于
-gt    大于
-lt    小于
-le    小于等于
-ne    不相等*/
//实例
if [ test $num ge 0 ] && [ test $num -le 100 ] //代码等于c语言中的if(num>0&&num<100)
then                                    
	echo "num是0-100之间的数字"
else
	echo "num是0-100之外的数字" 
fi

case语句

case 变量 in
	值1)语句1
	;;2)语句2
	;;3)语句3
	;;
	*)语句4
	;;
esac
示例:
read $var in
	1)echo "壹"
		;;
	2)echo "贰"
		;;
	3)echo "叁"
		;;
	*)echo "不认识"
		;;
esac

Shell中的循环语句

for语句

for((i=0;i<5; i++))//ps:或者for i in 1 2 3 4 5//pss:for i in `seq5`
do
	语句
done
示例
for((i=0;i<5;i++))
do
	语句
done

while语句

while 条件
do
	语句一
	语句二
done
while [ $i -lt 101 ]
do
	sum=`expr $sum + $i`
	((i++))                       //((  ))俩括号为C的用法
done

until语句用法与while一直只是在其条件满足的时候退出

注:上述所有语法都可以采用(( ))俩括号括后采用C的写法

Shell中的数组

array=(how are you)    //定义数组array
echo ${array[0]}       //打印how
echo ${array[1]}       //打印are
echo ${array[2]}       //打印you
echo ${array[3]}       //打印how are you

Shell中的函数调用

add()
{
	sum=0
	sum=' expr $1+$2 '
	echo $sum
	return $sum
}
ret='add 10 20'
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值