shell脚本和基础使用

shell就是用户与linux交换的一款语言

后缀名为.sh的就是shell脚本,效果等同windows的.bat文件 || 运行脚本命令为:./路径/脚本名.sh

编写第一个shell

#! /bin/bash	//shell默认必须要的头部信息
echo "hello world"	#echo表示为输出语句等价于java的sout

权限修改

如果在运行时发现权限不足使用ls -l查看文件详细信息

文件开头以四部分组成:如:①- ②rw- ③r-- ④r--

          一(-): -、d、l || -表示这是一个文件,d表示这是一个目录,l表示这是一个快捷方式

        二三四部分值相同意义不同:r、w、x、- ||r(4)表示可读,w(2)表示可写,x(1)表示执行,-(0)表示没有权限

        二表示创建文件的用户具有的权限,三表示当前创建文件的用户所在的组成员具有的权限,四表示其他用户具有的权限

修改权限命令:chmod u+rwx g+rwx o+rwx 文件名 || 增加权限

                        chmod u-rwx g-rwx o-rwx 文件名 || 删除权限

                         chmod 735 文件名 || 通过数字相加的值修改权限

变量

shell是一门弱语言,没有变量类型

#! /bin/bash
name="aaa";	#命名变量可以直接使用
echo "姓名为:${name}"
echo "姓名为:"${name}

传递参数

执行shell脚本时传递参数值

#! /bin/bash
echo "第一个参数:$1"
echo "第二个参数:$2"
.............		#假设文件名为a.sh

#执行格式
./a.sh 我是第一个参数 我是第二个参数 

数组

数组可以存放多个值,Bash Shell 只支持一维数组不支持多维,初始化时不需要定义数组大小

与大多数编程语言类似,数组元素下标由0开始

shell数组用括号表示,元素用空格分隔

array_name=(value1 value2 ... value)

关联数组(map集合)

Bash支持关联数组,可以使用任意字符串或整数作为下标访问数组

#格式:declare -A site={[键]="值"}	注:键是唯一的
declare -A site={["name"]="张三" ["phone"]="110" ["sex"]="男"}

基本运算符

算数运算符

原生bash不支持简单数字运算,但是可以通过awk或expr实现

expr是一款表达式计算工具,使用它可以完成表达式的求值

#! /bin/bash
a=10
b=5
c=`expr $a / $b`
echo "a+b=$c"

关系运算符

a=10
b=20
if [ $a -eq $b ]
then	#if执行语句
   echo "$a -eq $b : a 等于 b"
else	#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、付费专栏及课程。

余额充值