linux学习笔记整理: 关于linux:Shell脚本 2024/7/20;

Shell脚本:

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

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

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

后缀:

.sh .bat

权限指令:

使用ls -l可以查看对文件得权限

例如: -rw-r--r--. 1 root root 51 7月 16 22:13 demo1.sh

其中 最前面得 -rw-r--r-- 分为4个部分:- rw- r-- r--

  1. 第一部分--表示文件,d表示目录,l表示快捷键;

  2. 第二-四部分:r表示读,w表示写,x表示执行,-代表无;

  3. 第一个组rw-:表示当前创建文件的用户具有的权限;

  4. 第二个组r--:表示当前创建该文件的用户所在的组成员具有的权限;

  5. 第三个组r--:表示其他用户具有的权限;

修改权限:

增加权限: chmod u+rwx g+rwx o+rwx 文件名

减少权限: chmod u-rwx g-rwx o-rwx 文件名

数字修改权限:

r=4, //读

w=2, //写

x=1; //执

通过权限相加的数值来给定权限值

chmod 705 文件名

编写shell:

首先需要拥有w写的权限,执行时也需要拥有x执行的权限;

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

输出:
#字符串输出:
# echo表示输出 
echo "hello world"  #输出内容:hello word
带参输出:
name="刘德华";
echo "姓名:${name}"  #输出内容:姓名:刘德华
echo "姓名:"${name}  #输出内容:姓名:刘德华
echo "第一个参数值:$1"    #表示调用时传入的第一个参数
echo "第一个参数值:$2"    #表示调用时传入的第二个参数
数组
#Shell 数组用括号来表示,元素用"空格"符号分割开,语法格式如下:
array_name=(value1 value2 ... valuen)
​
#Bash 支持关联数组,可以使用任意的字符串、或者整数作为下标来访问数组元素。关联数组使用 **[declare](https://www.runoob.com/linux/linux-comm-declare.html)** 命令来声明,语法格式如下:
declare -A site=(["google"]="www.google.com" ["runoob"]="www.runoob.com" ["taobao"]="www.taobao.com")

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

Shell 基本运算符:
算数运算符

原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。

expr 是一款表达式计算工具,使用它能完成表达式的求值操作。

#!/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、付费专栏及课程。

余额充值