shell脚本编写之初级版
短信预约 -IT技能 免费直播动态提醒
1. shell脚本的执行顺序是从上而下的,面向过程。
2. 文件名称格式: xxx.sh
3. 文件内容的第一行: #!/bin/bash
4. shell脚本就是将命令全部融合在一起
5. 定义变量
shell脚本的变量是以:key=value 定义的,注意:=两边不能有空格
静态变量定义:a='www.ruozedata.com'
动态变量定义:b=`date` #变量b是获取当前时间,调用b的时候动态获取当前时间
shell脚本里面使用变量的方法:${变量} ,如使用变量a就应该是${a}。
6. if判断
可以判断:整数、小数 、字符串、文件夹是否存在、文件是否存在 等。
格式: if [空格 xx = yy 空格] 注意:使用单个等号,表达式前后及等号两边各有一个空格。
示例:
if [ '$a' = 'www.ruozedata.com' ]; then
echo "D3"
fi
7. shell中for循环的几个常用写法
第一类:数字性循环
例1:
#!/bin/bash
for((i=1;i<=10;i++));
do
echo $(expr $i \* 3 + 1);
done
例2:
#!/bin/bash
for i in $(seq 1 10)
do
echo $(expr $i \* 3 + 1);
done
例3:
#!/bin/bash
for i in {1..10}
do
echo $(expr $i \* 3 + 1);
done
例4:
#!/bin/bash
awk 'BEGIN{for(i=1; i<=10; i++) print i}'
第二类:字符性循环
例1:
#!/bin/bash
for i in `ls`;
do
echo $i is file name\! ;
done
例2:
#!/bin/bash
for i in $* ;
do
echo $i is input chart\! ;
done
例3:
#!/bin/bash
for i in f1 f2 f3 ;
do
echo $i is appoint ;
done
例4:
#!/bin/bash
list="rootfs usr data data2"
for i in $list;
do
echo $i is appoint ;
done
第三类:路径查找
例1:
#!/bin/bash
for file in /proc/*;
do
echo $file is file path \! ;
done
例2:
#!/bin/bash
for file in $(ls *.sh)
do
echo $file is file path \! ;
done
8. 分割
shell中字符串分割的三种方法:
例1:分割字符串’1,2,3,4,5’,以“,”分割
#!/bin/bash
var=’1,2,3,4,5’
var=${var//,/ } #这里是将var中的,替换为空格
for element in $var
do
echo $element
done
例2:分割字符串’mark:x:0:0:this is a test user:/var/mark:nologin’,以“:”分割
#!/bin/bash
user=’mark:x:0:0:this is a test user:/var/mark:nologin’
for((i=1;i<=7;i++))
do
echo $user|cut -d ":" -f$i
done
例3:针对例2写的一种通用的脚本(也使用例1)
#!/bin/bash
user=’mark:x:0:0:this is a test user:/var/mark:nologin’
i=1
while((1==1))
do
split=`echo $user|cut -d ":" -f$i`
if [ "$split" != "" ]
then
((i++))
echo $split
else
break
fi
done
9. 赋权限和执行
给shell脚本赋可执行权限: chmod +x xxx.sh
执行shell脚本的命令:./xxx.sh
sh xxx.sh
10. debug模式
在开发中,经常要是用debug模式来排查问题。
现在有两种开启debug模式的方法:
1. 在shell脚本的#!/bin/bash 后面加上 -x: #!/bin/bash -x
#编辑 20180525.sh文件 添加 -x参数后保存退出
[hadoop@hadoop002 ~]$ vi 20180525.sh
#!/bin/bash -x
a='www.ruozedata.com'
b=`date`
echo $a
echo ${a}${b}c/d
#执行20180525.sh 脚本
[hadoop@hadoop002 ~]$ ./20180525.sh
+ a=www.ruozedata.com
++ date
+ b='Fri May 25 14:29:54 CST 2018'
+ echo www.ruozedata.com
www.ruozedata.com
+ echo www.ruozedata.comFri May 25 14:29:54 CST 2018c/d
www.ruozedata.comFri May 25 14:29:54 CST 2018c/d
[hadoop@hadoop002 ~]$
2. 文件名称格式: xxx.sh
3. 文件内容的第一行: #!/bin/bash
4. shell脚本就是将命令全部融合在一起
5. 定义变量
shell脚本的变量是以:key=value 定义的,注意:=两边不能有空格
静态变量定义:a='www.ruozedata.com'
动态变量定义:b=`date` #变量b是获取当前时间,调用b的时候动态获取当前时间
shell脚本里面使用变量的方法:${变量} ,如使用变量a就应该是${a}。
6. if判断
可以判断:整数、小数 、字符串、文件夹是否存在、文件是否存在 等。
格式: if [空格 xx = yy 空格] 注意:使用单个等号,表达式前后及等号两边各有一个空格。
示例:
if [ '$a' = 'www.ruozedata.com' ]; then
echo "D3"
fi
7. shell中for循环的几个常用写法
第一类:数字性循环
例1:
#!/bin/bash
for((i=1;i<=10;i++));
do
echo $(expr $i \* 3 + 1);
done
例2:
#!/bin/bash
for i in $(seq 1 10)
do
echo $(expr $i \* 3 + 1);
done
例3:
#!/bin/bash
for i in {1..10}
do
echo $(expr $i \* 3 + 1);
done
例4:
#!/bin/bash
awk 'BEGIN{for(i=1; i<=10; i++) print i}'
第二类:字符性循环
例1:
#!/bin/bash
for i in `ls`;
do
echo $i is file name\! ;
done
例2:
#!/bin/bash
for i in $* ;
do
echo $i is input chart\! ;
done
例3:
#!/bin/bash
for i in f1 f2 f3 ;
do
echo $i is appoint ;
done
例4:
#!/bin/bash
list="rootfs usr data data2"
for i in $list;
do
echo $i is appoint ;
done
第三类:路径查找
例1:
#!/bin/bash
for file in /proc/*;
do
echo $file is file path \! ;
done
例2:
#!/bin/bash
for file in $(ls *.sh)
do
echo $file is file path \! ;
done
8. 分割
shell中字符串分割的三种方法:
例1:分割字符串’1,2,3,4,5’,以“,”分割
#!/bin/bash
var=’1,2,3,4,5’
var=${var//,/ } #这里是将var中的,替换为空格
for element in $var
do
echo $element
done
例2:分割字符串’mark:x:0:0:this is a test user:/var/mark:nologin’,以“:”分割
#!/bin/bash
user=’mark:x:0:0:this is a test user:/var/mark:nologin’
for((i=1;i<=7;i++))
do
echo $user|cut -d ":" -f$i
done
例3:针对例2写的一种通用的脚本(也使用例1)
#!/bin/bash
user=’mark:x:0:0:this is a test user:/var/mark:nologin’
i=1
while((1==1))
do
split=`echo $user|cut -d ":" -f$i`
if [ "$split" != "" ]
then
((i++))
echo $split
else
break
fi
done
9. 赋权限和执行
给shell脚本赋可执行权限: chmod +x xxx.sh
执行shell脚本的命令:./xxx.sh
sh xxx.sh
10. debug模式
在开发中,经常要是用debug模式来排查问题。
现在有两种开启debug模式的方法:
1. 在shell脚本的#!/bin/bash 后面加上 -x: #!/bin/bash -x
#编辑 20180525.sh文件 添加 -x参数后保存退出
[hadoop@hadoop002 ~]$ vi 20180525.sh
#!/bin/bash -x
a='www.ruozedata.com'
b=`date`
echo $a
echo ${a}${b}c/d
#执行20180525.sh 脚本
[hadoop@hadoop002 ~]$ ./20180525.sh
+ a=www.ruozedata.com
++ date
+ b='Fri May 25 14:29:54 CST 2018'
+ echo www.ruozedata.com
www.ruozedata.com
+ echo www.ruozedata.comFri May 25 14:29:54 CST 2018c/d
www.ruozedata.comFri May 25 14:29:54 CST 2018c/d
[hadoop@hadoop002 ~]$
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
shell脚本编写之初级版
下载Word文档到电脑,方便收藏和打印~
下载Word文档
猜你喜欢
shell脚本编写之初级版
1. shell脚本的执行顺序是从上而下的,面向过程。2. 文件名称格式: xxx.sh3. 文件内容的第一行: #!/bin/bash4. shell脚本就是将命令全部融合在一起5. 定义变量 shell脚本的变量是以:k
2023-06-06
Linux Shell脚本编程初体验
通常,当人们提到“shell脚本语言”时,浮现在他们脑海中是bash,ksh,sh或者其它相类似的linux/unix脚本语言。脚本语言是与计算机交流的另外一种途径。使用图形化窗口界面(不管是windows还是linux都无所谓)用户可以移
2022-06-04
linux如何编写shell脚本
编写Linux的shell脚本可以使用任何文本编辑器,如vi、nano、gedit等。以下是编写shell脚本的一般步骤:1. 打开一个文本编辑器,创建一个新文件,文件扩展名通常是.sh,表示这是一个shell脚本。2. 添加#!/bin/
2023-09-15
如何编写Linux Shell脚本
这篇文章主要为大家展示了“如何编写Linux Shell脚本”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何编写Linux Shell脚本”这篇文章吧。代码风格规范开头有“蛇棒”所谓sheba
2023-06-16
如何编写Shell脚本实现CentOS 6.x系统升级Python到2.7版本
这篇文章主要讲解了“如何编写Shell脚本实现CentOS 6.x系统升级Python到2.7版本”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何编写Shell脚本实现CentOS 6.x
2023-06-09
shell脚本编程之数组
数组就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标。组成数组的各个变量称为数组的元素。数组是在程序设计中,为了处理方便, 把具有相同类型
2022-06-04
linux中如何编写shell脚本
在Linux中,可以使用任何文本编辑器编写Shell脚本。以下是编写Shell脚本的一般步骤:打开终端并创建一个新的文本文件,例如my_script.sh。在文件的第一行添加Shebang,指定要使用的Shell解释器。例如,要使用Bash
2023-10-23
centos中怎么编写shell脚本
在CentOS中编写Shell脚本主要有以下几个步骤:打开终端,创建一个新文件,例如script.sh,可以使用touch script.sh命令创建一个空白文件。使用文本编辑器(如vi或nano)打开脚本文件,例如使用vi script.
2023-10-23
2023-09-03
如何编写Shell脚本注释
本篇内容介绍了“如何编写Shell脚本注释”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、单选注释以“#”开头的行就是注释,会被解释器忽略
2023-06-09
Shell脚本编程入门编写教程
这篇文章主要讲解了“Shell脚本编程入门编写教程”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Shell脚本编程入门编写教程”吧!例子一:绘制特殊图形代码如下:#!/bin/bash MA
2023-06-09
linux怎么编写shell集群脚本
编写一个Shell集群脚本可以实现以下步骤:1. 在主节点上创建一个Shell脚本文件,例如cluster.sh。2. 在cluster.sh中编写要在集群上运行的命令或任务。可以使用循环结构来遍历集群节点。3. 使用ssh命令将clust
2023-09-22
详解shell脚本的编写规范
编写shell脚本的一些规范
解释器
shell脚本一般选择bash作为解释器,脚本开头应为#!/bin/bash
或
#!/bin/sh添加脚本版本和注释功能
在脚本的开头加注释,说明脚本作者、编
2022-06-04
shell脚本编写俄罗斯方块
网上看到的一个用linux的shell脚本写的俄罗斯方块。共享一下。
原作者信息在脚本的注释中有。
下载地址:点击下载代码:#!/bin/bash # Tetris Game
# 10.21.2003 xhchen<[email]xhch
2022-06-04
shell脚本编写的步骤是什么
编写shell脚本的步骤如下:1. 定义脚本的目的和功能:确定脚本要解决的问题或实现的功能。2. 编写脚本的头部:在脚本的第一行添加shebang(#!/bin/sh或#!/bin/bash)来指定使用的shell解释器。3. 设置脚本的执
2023-09-22
shell实现多级菜单脚本编写的示例代码
Shell脚本的多级菜单示例代码提供了在shell脚本中实现友好导航的清晰指南。它定义了主菜单和子菜单选项,并使用子菜单函数处理用户输入。这种分层结构提供了清晰的导航并减少了输入错误,从而增强了用户体验。
2024-04-02
Shell脚本编程之判断语句
一、单分支if语句
格式:if 判断条件;thenstatement1
statement2
...
fi二、双分支的if语句
格式:if 判断条件; thenstatement1
statement2
...
else
statement
2022-06-04
linux怎么编写和执行shell脚本
编写和执行Shell脚本的步骤如下:1. 打开一个文本编辑器,比如使用vi或者nano。2. 在第一行添加shebang,指定要使用的Shell解释器。例如,使用Bash解释器,可以添加 #!/bin/bash。3. 在下面的行中编写She
2023-09-22
shell脚本编程之循环语句
在运行脚本时重复执行一系列的命令是很常见的,这时我们就需要使用循环语句来达到这个目的。一、for命令格式:for 变量 in 列表;do 循环体donefor命令会遍历列表中的每一个值,并且在遍历完成后退出循环。列表形式有以下几种:1、在命
2022-06-04
shell脚本的编写规范是怎样的
这篇文章主要介绍“shell脚本的编写规范是怎样的”,在日常操作中,相信很多人在shell脚本的编写规范是怎样的问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”shell脚本的编写规范是怎样的”的疑惑有所帮助!
2023-06-09