前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >shell编程基本语法和变量

shell编程基本语法和变量

作者头像
小小咸鱼YwY
发布2020-06-19 15:36:03
6990
发布2020-06-19 15:36:03
举报
文章被收录于专栏:python-爬虫python-爬虫

一.编写shell脚本基本格式

拿最简单的hello word举例

代码语言:javascript
复制
.#!/bin/bash       
echo 'hello world'
  • .#!/bin/bash:告诉计算机,使用bash解释器来执行代码
  • echo: 打印

二.运行shell脚本

方法一(推荐使用)

代码语言:javascript
复制
chmod 777 myshell.sh

#给文件权限

./myshell.sh

#运行文件

方法2

代码语言:javascript
复制
sh myshell.sh

三.注释

代码语言:javascript
复制
单行注释
#内容

多行注释
:<<!
内容
!

四.定义变量

基本语法

代码语言:javascript
复制
1.定义变量:变量名=变量值
2.撤销变量:unset 变量名
3.声明静态变量:readonly 变量名     #静态变量不能unset

将命令执行结果返回变量
1.A=`ls -la` 反引号
2.A=$(ls -la) 等价于反引号

系统变量:
	$PATH
	$HOME
	$PWD
	$SHELL
	$USER	

五.设置环境变量

基本语法

代码语言:javascript
复制
export 变量名=变量值		将shell变量输出给环境变量
source 配置文件名称	       让修改后的配置信息立即生效
echo $变量值				  查看环境变量的值


举例
vim a.sh
export a = 111
:wq
source a.sh
echo $a
111

六.位置参数变量

主要是给shell脚本传参数

代码语言:javascript
复制
$n (功能描述:n 为数字,$0 代表命令本身,$1-$9 代表第一到第九个参数,十以上的参数,十以上的参数需要用大括号包含,如${10})

$* (功能描述:这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体)

$@  (功能描述:这个变量也代表命令行中所有的参数,不过$@把每个参数区分对待)


$#(功能描述:这个变量代表命令行中所有参数的个数)

举例

a.sh脚本里面的内容

代码语言:javascript
复制
#!/bin/bash  

echo $2   #展示第二个参数
echo $*   #这个整体
echo $@   #这个分开for循环中才有提现
echo $#   #传参的个数

执行

代码语言:javascript
复制
[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脚本中使用

代码语言:javascript
复制
$$ 	(功能描述:当前进程的进程号(PID))
$!	(功能描述:后台运行的最后一个进程的进程号(PID))
$?	(功能描述:最后一次执行的命令的返回状态。如果这个变量的值为 0,证明上一个命令正确执行;如果这个变量的值为非 0(具体是哪个数,由命令自己来决定),则证明上一个命令执行失败)

八.变量的基本运算

代码语言:javascript
复制

运算表达式

代码语言:javascript
复制
1.$((运算式))  #$((1+1)) 不要有空格
2.$[运算式]   #$[1+1]  不要有空格
上面两种运算符号都是普通的不要\注释掉


这种比较特别
3.`expr m + n`  #`expr 1 + 1`  运算符之间必须要有空格 
+   #加
-   #减
/   #除
%   #取余
\*  #乘
\(	\)  #括号
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-11-12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一.编写shell脚本基本格式
  • 二.运行shell脚本
  • 三.注释
  • 四.定义变量
  • 五.设置环境变量
  • 六.位置参数变量
  • 七.预定义变量
  • 八.变量的基本运算
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档