Linux之shell脚本学习(1)简介和变量

Linuxshell脚本学习(1)简介和变量

什么是shell

Shell是操作系统的最外层,可以理解是命令的集合,shell可以合并编程语言以控制进程和文件,以及启动和控制其他文件

简单来说,shell就是一个用户跟操作系统之间交互的命令解释器

Shell,应用程序,内核的关系如下

应用程序——shell——内核

Shell的好处,批量的处理,自动化的完成维护,减轻管理员的负担,监控服务器可用性,备份等‘

查看shell   #cat /etc/shell

其中,/bin/bash是大多数linux中默认的shell解释器,之后的所有脚本的编写都是bash脚本,在linux中,无扩展名,shell脚本需要有执行的权限

Shell脚本声明的格式

—创建一个shell脚本     #vim frist.sh

—编辑

#/bin/bash        固定格式,声明用的是bash解释器,#!是Sharp-hang符,是一个起始符,用于指定解释器

#echo hello               声明作用/或声明文件名

#author                       声明作者

echo  hello

 

如何去执行一个脚本

1.     使用绝对路径执行

2.     使用相对路径执行 ./

3.     使用sh命令执行   语法   #sh  脚本吗

4.     使用.(空格)脚本名称的方式执行

5.     使用source脚本名称执行

 

Shell中的变量

变量的本质是存储数据的一个或多个计算机内存地址

Shell变量的分类:自定义变量,环境变量,位置变量,预定义变量

特点:

1.     声明变量不用声明类型

2.     可以存储不同类型内容

3.     使用要明确变量类型

4.     区分大小写

5.     左右两边不能有空格

A) 自定义变量,由用户自定义变量

语法:#$变量名或${变量名}

Eg#linux=7.2

       #echo$linux

       #echo${linux}

Read命令

作用,通过键盘输入来定义变量

Eg#read –p  inputname

-p是为了提高可读性

B)系统变量,一般为大写

Eg$HOME,  $PWD,  $SHELL,  $USER

显示当前shell中所有的变量  #set

shell中,单引号和双引号的区别:单引号会将所有的特殊字符脱意,双引号仅将空格脱意

Eg#x=”hello xx”

       #echo$x

       Helloxx

#x=’hello $x’

#echo $x

Hello $x

声明静态的变量 #readonly B=A      ——不能unset

声明全局环境变量 #export  A=B  

将命令的返回值赋给变量

语法:  #A=”ls”或者A=$(ls)

C)特殊变量

$? 表示上个命令退出的状态,0为执行成功,非0则执行失败

 

$$ 表示当前进程编号PID

 

$0 表示当前脚本名称

 

$# 表示参数变量的个数,常用于循环

 

$N 表示位置变量,n代表数字,19

 

$*$@ 都表示参数列表,不被引号“”包含时,都已$1.$2….$n的形式输出,当他们被双引号“”包含时,$*会将所有的参数作为一个整体,以” $1.$2….$n”的形式输出所有参数,$@会将各个参数分开,以”$1”.”$2”….”$n”的形式输出所有参数

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值