shell编程基本语法和变量(shell脚本的语法)

网友投稿 272 2022-07-31

一.编写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` 运算符之间必须要有空格

+ #加

- #减

/ #除

% #取余

\* #乘

\( \) #括号

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:restframework详细(restframework认证)
下一篇:Scrapy的下载中间件(scrapy下载器中间件)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~