【无标题】

一、shell是什么
外层应用程序–>shell(cd、ls)–>linux内核–>硬件
一个命令行解释器,用来接收应用程序/用户命令,然后调用操作系统内核
二、入门
1.以#!/bin/bash开头
2.创建一个shell脚本,输出helloworld
创建:touch helloworld.sh
编写:
#!/bin/bash

echo “hello world”

执行:sh helloworld.sh
或者 ./helloworld.sh
要chmod 777

3.在/home/hwz/目录下,创建banzhang.txt,在banzhang.txt中增加"l love cls"
#!/bin/bash

cd /home/hwz/
touch banzhang.txt
echo “ilove cls” >> banzhang.txt

4.shell中的变量
自定义变量:
(1)语法:
定义变量:变量=值(等号左右没有空格)
撤销变量:unset 变量
声明静态变量:readonly 变量,注意:不能unset 变量
(2)变量定义规则
变量名可以由字母、数字、下划线组成,不能以数字开头,环境变量名建议大写
等号两侧不能有空格
变量默认类型是字符串类型,无法直接进行数值运算
变量的值如果有空格,要使用双引号或者单引号括起来
a=“a b c”
可把变量提升为全局环境变量,其它shell程序也可以使用。export 变量名

特殊变量:
(1)$n:n为数字,$0代表该脚本名称,$1- 9 代 表 输 入 的 第 一 到 第 九 个 参 数 , 10 以 上 用 9代表输入的第一到第九个参数,10以上用 910{10}
(2)KaTeX parse error: Expected 'EOF', got '#' at position 1: #̲:获取所有输入参数个数,常用于…*:把命令行中的所有参数看成一个整体
(4) @ : 把 命 令 行 中 的 所 有 参 数 看 成 一 个 整 体 , 但 是 把 每 个 参 数 区 别 对 待 ( 5 ) @:把命令行中的所有参数看成一个整体,但是把每个参数区别对待 (5) @:5?:最后一次执行的命令的返回状态,如果这个变量的值为0,证明上一个命令正确执行,非0则执行不正确

#!/bin/bash
echo “$0 $1 $2”
echo $#

5.运算符
(1)基本语法:
( ( 运 算 式 ) ) 或 ((运算式))或 (())[运算式]
expr +、-、*、/、%(expr 运算符间要有空格)
expr 3+2
expr ‘expr 2 + 3’ *4
s=$[(3+2)*4]
echo "s“

6.条件判断
(1)基本语法
[ condition },condition前后要有空格,条件非空返回true
(2)常用判断条件
两个整数间比较:
= 字符串比较
-lt 小于 -le 小于等于
-eq 等于 -gt 大于
-ge大于等于 -ne 不等于

按照文件权限进行判断:
-r 有读的权限 -w 有写的权限
-x 有执行的权限

按照文件类型进行判断:
-f 文件存在并且是一个常规的文件
-e文件存在
-d文件存在且是一个目录

多条件判断
&&逻辑与 ||逻辑或

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值