shell编程基本语法和变量
一.编写shell脚本基本格式
拿最简单的hello word举例
.#!/bin/bash
echo 'hello world'
- .#!/bin/bash:告诉计算机,使用bash解释器来执行代码
- echo: 打印
二.运行shell脚本
方法一(推荐使用)
chmod 777 myshell.sh
#给文件权限
./myshell.sh
#运行文件
方法2
sh myshell.sh
三.注释
单行注释
#内容
多行注释
:<<!
内容
!
四.定义变量
基本语法
1.定义变量:变量名=变量值
2.撤销变量:unset 变量名
3.声明静态变量:readonly 变量名 #静态变量不能unset
将命令执行结果返回变量
1.A=`ls -la` 反引号
2.A=$(ls -la) 等价于反引号
系统变量:
$PATH
$HOME
$PWD
$SHELL
$USER
五.设置环境变量
基本语法
export 变量名=变量值 将shell变量输出给环境变量
source 配置文件名称 让修改后的配置信息立即生效
echo $变量值 查看环境变量的值
举例
vim a.sh
export a = 111
:wq
source a.sh
echo $a
111
六.位置参数变量
主要是给shell脚本传参数
$n (功能描述:n 为数字,$0 代表命令本身,$1-$9 代表第一到第九个参数,十以上的参数,十以上的参数需要用大括号包含,如${10})
$* (功能描述:这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体)
$@ (功能描述:这个变量也代表命令行中所有的参数,不过$@把每个参数区分对待)
$#(功能描述:这个变量代表命令行中所有参数的个数)
举例
a.sh脚本里面的内容
#!/bin/bash
echo $2 #展示第二个参数
echo $* #这个整体
echo $@ #这个分开for循环中才有提现
echo $# #传参的个数
执行
[root@ywy ~]# sh a.sh 1 2 3
a.sh: line 1: .#!/bin/bash: No such file or directory
2
1 2 3
1 2 3
3
七.预定义变量
就是shell设计者事先已经定义好的变量,可以直接在shell脚本中使用
$$ (功能描述:当前进程的进程号(PID))
$! (功能描述:后台运行的最后一个进程的进程号(PID))
$? (功能描述:最后一次执行的命令的返回状态。如果这个变量的值为 0,证明上一个命令正确执行;如果这个变量的值为非 0(具体是哪个数,由命令自己来决定),则证明上一个命令执行失败)
八.变量的基本运算
运算表达式
1.$((运算式)) #$((1+1)) 不要有空格
2.$[运算式] #$[1+1] 不要有空格
上面两种运算符号都是普通的不要\注释掉
这种比较特别
3.`expr m + n` #`expr 1 + 1` 运算符之间必须要有空格
+ #加
- #减
/ #除
% #取余
\* #乘
\( \) #括号
shell编程基本语法和变量的更多相关文章
- linux之shell编程基本语法
Shell是用户与内核进行交互操作的一种接口,目前最流行的Shell称为bash Shell.Shell也是一门编程语言<解释型的编程语言>,即shell脚本<就是在用linux的s ...
- Bash shell编程的语法知识点(1)
Bash shell脚本编程知识点如下(初学,不全,欢迎讨论补充): shell简介 脚本的简单介绍 变量和引用 算术运算 交互式编程 选择判断 条件测试 循环 函数 shell简介 shell是一种 ...
- 小鸟初学Shell编程(七)变量引用及作用范围
变量引用 那么定义好变量,如何打印变量的值呢?举例下变量引用的方式. ${变量名}称作为对变量的引用 echo ${变量名}查看变量的值 ${变量名}在部分情况下可以省略成 $变量名 [root@li ...
- shell编程基础语法
创建文件:touch aaa.sh 把文件变成可执行的命令: chmod +x /Users/dream-mac/Desktop/aaa.sh (这里是文件路径,如果在当前路径下,只需要把文件名写到这 ...
- Shell 编程基础 --语法高速入门
简单的说shell就是一个包括若干行Shell或者Linux命令的文件.对于一次编写,多次使用的大量命令,就能够使用单独的文件保存下来,以便日后使用.通常shell脚本以.sh为后缀.第一行一定要指明 ...
- shell编程:基本语法
要掌握一门语言,就要先掌握它的语法.如同C语言一般,shell也有自己的语法. 变量 按照惯例,Shell变量通常由字母加下划线开头,由任意长度的字母.数字.下划线组成.有两种类型的Shell变量: ...
- Linux Shell编程(8)——变量详解
不同与许多其他的编程语言,Bash不以"类型"来区分变量.本质上来说,Bash变量是字符串,但是根据环境的不同,Bash允许变量有整数计算和比较.其中的决定因素是变量的值是不是只含 ...
- Linux Shell编程 循环语法
for循环 for 循环是固定循环,也就是在循环时已经知道需要进行几次循环.有时也把 for 循环称为计数循环.语法: for 变量 in 值1 值2 值3… do 程序 done 在这种语法中,fo ...
- 小鸟初学Shell编程(六)变量赋值
变量的意义 我们在使用Linux命令或脚本的时候,会有一些输出,那么这些输出的信息可以用变量临时存储,以备我们下一条命令或脚本使用. 变量的定义 变量的定义建议用一个有意义的英文单词来代表变量,不要使 ...
随机推荐
- MySQL数据库的事务及存储引擎
一.关系型数据库与非关系型数据库 1.关系型数据库的特点: 1)数据以表格的形式出现 2)每行为各种记录名称 3)每列为记录名称所对应的数据域 4)许多的行和列组成一张表单 5)若干的表单组成数据库 ...
- Python之dict(或对象)与json之间转化
在Python语言中,json数据与dict字典以及对象之间的转化,是必不可少的操作. 在Python中自带json库.通过import json导入. 在json模块有2个方法, loads():将 ...
- 3.智能快递柜(通信篇-HTTP)
1.智能快递柜(开篇) 2.智能快递柜(终端篇) 3.智能快递柜(通信篇-HTTP) 4.智能快递柜(通信篇-SOCKET) 5.智能快递柜(通信篇-Server程序) 6.智能快递柜(平台篇) 7. ...
- mysql操作篇续
# ### part1. 数据类型 - 时间date YYYY-MM-DD 年月日 (纪念日)time HH:MM:SS 时分秒 (体育竞赛)year YYYY 年份值 (酒的年份,82年拉菲)dat ...
- cobalt strike入门和防护
1.入门: https://blog.csdn.net/localhost01/article/details/86741124 2.cs的防护: 由于关乎渗透人员自身的安全,建议大家好好看看,这里贴 ...
- Centos7 环境安装初始化
安装系统 默认分区 磁盘分配(以20G为例): Boot分区:引导分区系统启动的必要核心文件,建议1G Var分区:存放log文件,不分则在/下,建议1G Home分区:存放用户数据,一般都比较大,建 ...
- Appium左右、上下滑动(Java)
网上很多文章都说用swipe来左右滑动,你把代码一贴,结果报错,看半天,原来是java-client中swipe早就被废除了!!!下面介绍一种Java写法来左右上下滑动: 首先,创建一个Swipe类 ...
- Html学习之一(锚点链接的使用,页面间的跳转)
页面一: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <ti ...
- 201271050130-滕江南《面向对象程序设计(java)》第十一周学习总结
项目 内容 <面向对象程序设计(java)> https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/ ...
- selenium添加chrome配置项
selenium虽然强大,但也有不方便的地方,selenium每次启动浏览器都是一个全新的浏览器,并没有加载任何的配置,这样在爬取一些需要登陆才能看到的页面时就有些不太方便.但我们可以通过加载chro ...