shell脚本基础

bash (/bin/bash) 是目前大多数Linux版本采用的默认shell

基于GNU框架下发展出来shell

几种shell脚本的执行方式

chmod 777 ky27.sh 赋权执行 ./first.sh

source first.sh

sh first.sh

bash first.sh

从左到右依次给未知变量$1表示第一位

$0表示脚本命令身如 ./addnum.sh

shell 脚本的应用场景

重复性操作,交互性任务,批量事务处理,服务运行状态监控,定时任务执行

free -m 命令来进行内存运算

bash -n 脚本命令 检查语法错误

bash -x 检查逻辑错误

变量命名格式

1不适用linux 自带的命令作为变量

2不适用特殊字符(可以用下滑线)

3不用中文,以指定的英文名作为变量(区分大小写)

${a} 用于获取变量的值

“ ”允许通过$引用其他变量值(弱引用)

‘ ’强引用 直接转换变量为字符串

` `提取命令执行的结果

< 是从指定的文件读取数据(而不是从键盘输入)

-F:以:为分割符

双引号:允许通过$符号引用其他变量值

单引号:禁止引用其他变量值,$视为普通字符

反撇号:命令替换,提取命令执行后的输出结果,`…`和$(…)作用相同

环境变量由系统提前创建,用来设置用户的工作环境

env可以直接查看

PATH=“$PATH:/root”

"$*" 连接起来作为字符串(整体)无“ ”会一行一行的输出

“$@ ”一行一个输出

$# 输入参数的数量

$?前一条脚本或命令执行的返回值

echo -n 取消自动换行;

全局变量:启动脚本了.在各线程,以及主程序中.可以互相传递值.每次启动脚本,初始值都一样.

环境变量:启动脚本了.在各线程,以及主程序中.可以互相传递值.每次启动脚本,初始值是上次停止脚本时的值.

用户自定义的全局环境变量,一般都是在 /etc/profile.d/目录下新建一个.sh 脚本文件 ,在家目录下编辑.bash_profile 添加全局变量

修改环境变量后,切记 source 刷新一下,使其生效

最好在 vim ~/.bashrc 中最后一行添加一句 source /etc/profile

否则可能在你重启机器时,出现之前配置的环境变量又失效了的问题

全局变量位置:root家目录下ls -a

通过命令 cd ~ ,[[进入当前用户的家目录,在家目录下进行用户级全局变量的配置。此处配置用到 .bash_profile 和 .bashrc两个文件(注意:文件前面有个点)

进入家目录,通过 ls 命令,你发现并没有这两个文件,那是因为这两个文件是隐藏文件,你可以通过命令 ls -a 看到这两个文件。接下来介绍这两个文件。

~/.bash_profile:每个用户都可以使用该文件,来输入属于自己的shell信息。当用户登录时,该文件仅仅执行一次!!!默认情况下,他设置一些环境变量,执行用户的.bashrc 文件。

~/.bashrc:该文件包含专属于你自己的 bash shell 的 bash 信息。当用户登录以及每次打开新的shell时,该文件都会被读取。(不推荐将变量放置在这儿,因为每打开一个shell,这个文件就会被读取一次,效率肯定是有影响的)

read -p 用于提示用户

read -p "请输入一个变量:" a

read -a 数组的名称

echo “第一数组:${words[0]}”

shell排错技巧:b=0

b=[ `expr $a \< 10` -a `expr $a = 10 ` ] && [ `expr $a \> 0` ]

echo $b

来查看返回的值

然后注释掉上边

b=[ `expr $a \> 10 ` ]

echo $b

查看返回值

shell脚本不需要定义但要初始化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值