linux中shell脚本

shell什么是shell

Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。

Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。

Ken Thompson 的 sh 是第一种 Unix Shell,Windows Explorer 是一个典型的图形界面 Shell。

后缀

.sh        .bat

编写第一个shell

#!/bin/bash
# echo表示输出 
echo "hello world"

运行该脚本        ./路径/脚本名.sh

第一个字符:        -:表示文件        d:表示目录        l:表示快捷方式

rw-:这三个字符表示创建文件的用户具有的权限        r:read读        w:write写        x:execute执行

r--:这三个字符表示当前创建该文件用户所在组成员具有的权限

r--:这三个字符表示其他用户具有的权限

修改权限

chmod u + rwx g + rwx o + rwx 文件[增加权限]

chmod u - rwx g - rwx o - rwx 文件[减权限]

r:数字4        w:数字2        x:数字1

通过数字修改权限: chmod 735 文件        rwx -wx r-x

变量 弱语言

#!/bin/bash
name="AAA";
echo "姓名:${name}"
echo "姓名:"${name}

shell 传递参数

#!/bin/bash
name="XXX";
echo "姓名:${name}"
echo "姓名:"${name}
echo "第一个参数值:$1"
echo "第一个参数值:$2"

执行脚本: ./脚本名 传递的值 值2

shell数组

数组中可以存放多个值。Bash Shell 只支持一维数组(不支持多维数组),初始化时不需要定义数组大小(与 PHP 类似)。

与大部分编程语言类似,数组元素的下标由 0 开始。

Shell 数组用括号来表示,元素用"空格"符号分割开,语法格式如下:

array_name=(value1 value2 ... valuen)

关联数组--map集合

Bash 支持关联数组,可以使用任意的字符串、或者整数作为下标来访问数组元素。

关联数组使用 declare 命令来声明,语法格式如下:

declare -A site=(["google"]="www.google.com" ["runoob"]="www.runoob.com" ["taobao"]="www.taobao.com")

-A 选项就是用于声明一个关联数组。

关联数组的键是唯一的。

shell基本运算符

算数运算符

#!/bin/bash
a=100
b=15
c=`expr $a / $b`
echo "c===$c"

关系运算符

a=10
b=20
#
if [ $a -eq $b ]
then
   echo "$a -eq $b : a 等于 b"
else
   echo "$a -eq $b: a 不等于 b"
fi

布尔运算符

if [ $a -lt 100 -a $b -gt 15 ]
then
   echo "$a 小于 100 且 $b 大于 15 : 返回 true"
else
   echo "$a 小于 100 且 $b 大于 15 : 返回 false"
fi

控制语句

if

a=10
b=20
if [ $a -eq $b ]
then
   echo "a 等于 b"
elif [ $a -gt $b ]
then
   echo "a 大于 b"
elif [ $a -lt $b ]
then
   echo "a 小于 b"
else
   echo "没有符合的条件"
fi

for

for var in item1 item2 ... itemN
do
    command1
    command2
    ...
    commandN
done

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值