linux 用shell脚本文件,Linux必须掌握的shell脚本基础

1. shell 基本语法

shell:

shell 是一个命令解释器,它在操作系统的最外层,负责直接与用户进行对话,把用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,输出到屏幕反馈给用户。

什么是 shell 脚本:

把 Linux 命令或语句放在一个文件中,通过这个程序文件去执行,这个程序为 shell 脚本或 shell 程序;可以在脚本中输入系统的命令以及相关的语法语句组合,比如变量,流程控制语句等,把他们有机结合起来就形成了一个功能强大的 shell 脚本。

创建 shell 程序的步骤:

(1)创建一个包含命令和控制结构的文件,vim first.sh

(2)修改这个文件的权限使它可以执行,chmod +x first.sh

(3)检测语法错误;

(4)执行脚本。

执行 shell 脚本的方式:

(1)通过绝对路径执行,/root/first.sh(需要添加可执行权限x)

(2)bash first.sh 或 sh first.sh(可以不添加可执行权限)

(3)source first.sh(可以不添加可执行权限,在当前 shell 执行)

(4)sh < cal.sh,cat cal.sh |sh,cat cal.sh |bash(可以不添加可执行权限)

初识 shell 脚本:

#!/bin/bash

# it is a shell!

echo "hello world!"

# 第一行:命令解释器类型

# 第二行:注释信息

2. shell 变量及运用

变量设置规则:

(1)变量名称通常是大写字母,可以由数字、字母(大小写)和下划线组成。变量名区分大小写,不能以数字开头;

(2)a=10,= 的作用是赋值,= 两边不能有空格;

(3)变量存储的数据类型是整数型和字符串型;

(4)字符串型建议加引号。如果字符串中有空格,要用单引号‘’或双引号“”包含起来;

(5)变量调用时,在变量前加 $,$a;

(6)如果需要增加变量的值,可以进行变量值的叠加。变量需要用双引号包含“$变量名”或用${变量名}包含。

变量的分类:

按照变量的作用划分:

(1)用户自定义变量(字母或下划线开头,不能以数字开头)

(2)环境变量:保存和系统操作环境相关的数据

(3)位置参数变量:

向脚本中传递参数或数据的,变量名不能自定义,变量的作用是固定的

(4)预定义变量:是 bash 中已经定义好的变量,变量名不能自定义,变量的作用是固定的

按照变量的作用域划分:

(1)全局变量:环境变量,值不随 shell 脚本的执行结束而消失,值传递给子 shell 而不传递给父 shell

env 命令查看所有全局变量:

export 声明全局变量:

添加环境变量:

(2)局部变量:是 shell 程序内部定义的,其使用范围仅限于定义它的程序,对其它程序不可见。包括用户自定义变量、位置变量和预定义变量

命令的替换:

使用 $() 或反引号。echo $(pwd) 或 echo `pwd`

命令的嵌套使用:

使用 $($())

单引号和双引号:

在单引号中,所有的字符(包括特殊字符)都将解释成字符本身成为普通字符;

在双引号中,除了 $、'' 和 \ 以外所有的字符都解释成字符本身。

删除变量:

unset 变量名:删除变量

定义变量的配置文件:

/etc/profile:系统全局环境和登陆系统的一些配置

/etc/bashrc:shell 全局自定义配置文件,用于自定义 shell

/root/.bashrc:用于自定义某个用户的bash

/root/.bash_profile:用户单独自定义某个用户的系统环境

插入永久变量:(1)vim /etc/profile;(2)在最后一行写入 export var8=100,保存并退出;(3)source /etc/profile

位置变量:

特殊变量:

$*

以一个单字符串显示所有向脚本传递的参数

$#

传递到脚本的参数的个数

$$

当前进程的进程号 PID

$?

显示最后命令的退出状态;0表示没有错误,其他值都表示有错误

$!

后台运行的最后一个进程的进程号 PID

3. 数学运算

expr 命令:

(1)对数字的基本计算;做比较时,输出结果为假时为0,1为真;特殊符号用转义符

(2)对字符串的处理

$(()):

运算符

意义

++   --

递增   递减

+   -   !~

正   负   逻辑与取反

+   -   *   /   %

加   减   乘   除   余数

   >=

比较大小

==   !=

相等   不相等

>>   <<

向左位移   向右位移

&   ^   |

按位的与   按位的异或   按位的或

&&   ||

逻辑与   逻辑或

?:

条件判断

计算从1加到100的值:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值