首页
学习
活动
专区
工具
TVP
发布

使用bash编写Linux shell脚本--复合命令

除了最简单的脚本,你很少想要执行每一个命令。执行一组命令或者重复执行一组命令若干次比执行单个命令更加有助。复合命令是将命令封装在一组其他命令中。...命令状态码 每一个 Linux 命令都返回一个状态码(退出状态),他是一个 0~255 之间的数字,用来表示该命令遇到的问题。...9 unzip 命令找不到要解压的文件,返回的状态码是 9 。 非官方的 Linux 惯例使用状态码 127 并且比标准的错误代码要小。...printf “$SCRIPT:$LINENO: the command $who is not available – “/ “ aborting/n “ >&2 exit 192 fi 一般,大部分 Linux...adding total and # average sales per item as well as a item count at the end of the # report. # Some Linux

2.3K101
您找到你想要的搜索结果了吗?
是的
没有找到

Linux编写Shell脚本

Linux编写Shell脚本 目录 Shell Shell脚本的执行 Shell脚本编写规范 Shell 中的变量 变量的算术运算 双小括号 (()) 数值运算命令的用法 let 运算命令的用法 expr...Shell 脚本的类型 Shell脚本语言是弱类型语言(无须定义变量的类型即可使用),在Unix/Linux中主要有两大类shell: 一类是 Bourne shell ,另一类是 C shell Bourne...Shell脚本编写规范 Shell脚本的开发规范及习惯非常重要,虽然这些规范不是必须要遵守的,但有了好的规范和习惯,可以大大提升开发效率,并能在后期降低对脚本的维护成本。...Shell中常见的算术运算符 Shell 中常见的算术运算命令 双小括号 (()) 数值运算命令的用法 双小括号 (()) 的作用是进行数值运算与数值比较,它的效率很高,用法灵活,是Linux下常用的运算操作符...3、利用 expr 计算字符串的长度 bc 命令的用法 bc 是UNIX/Linux下的计算器,除了作为计算器来使用,还可以作为命令行计算工具使用 交互模式 在shell命令行直接输入 bc 及能进入

7.1K10

Linux alias命令编写

编写alias命令 Linux操作系统中打开一些应用,有时需要进入对应的文件夹,打开对应的程序,不是很方便。...alias命令是一种命令别名命名法,可以将一些复杂的命令简化成一个我们自己命名的相对简单好记的命令。能够极其方便我们的操作。 命令操作过程 操作过程中需要在终端执行如下命令。...(1)编辑bash命令文件。 sudo vim ~/.bashrc //编辑对应的bashrc文件 (2)具体位置添加对应的alias命令。.... ~/.bashrc //更新生效相关的bashrc文件 执行alias命令 执行完第三步,使编写好的alias命令生效了,然后便可以执行刚才写好的alias命令。...打开微信 因为之前编写了微信的alias命令: alias wechat='cd electronic-wechat&&npm start' //添加命令 直接在终端输入如下命令: wechat 回车便会成功打开微信

2K21

Linuxshell命令总结

来自:良许Linux 01 前言 Linux shell命令应该算是非常入门的东西,但是实际上在使用的时候,会遇到各种各样的问题,前几天我在我们的项目上需要做一个功能,根据进程名字杀死这个进程,下面是过程...1、我们正常需要的操作是 $ps |grep xxx $kill -9 xx 2、kill命令是常用的,但是用killall命令会更快 $killall -9 xxx 3、令我困扰的是我用的那个没有...-n1 adb shell kill -9 我用这个的原因是用一条指令重定向总是各种问题,正常情况下用这条就可以了 $adb shell ps |grep speech |awk '{print.../sound/ -iname ft56Q.c 9、显示命令历史 history grep命令 最常用的-全字匹配 grep -wrn weiqifa ....grep '^[hr]' /etc/passwd 不是以h和r开头的 grep '^[^hr]' /etc/passwd 不是以h到r开头的 grep '^[^h-r]' /etc/passwd linux

1.2K30

linux下的shell命令编写,以及java如何调用linuxshell命令(java如何获取linux上的网卡的ip信息)

好吧,看看上面的打印,你就知道了,有多个ip,而且在linux上的情况更复杂。这种比较麻烦的情况,被我排除了,我使用了一种新的方法,就是linux上的shell脚本。...语法代码如下: #linux中的shell脚本的学习(so easy) #1.注释 #在进行shell编程时,以#开头的句子表示注释,直到这一行的结束。 #我们真诚地建议您在程序中使用注释。...在shell编程中,所有的变量都由字符串组成,并且您不需要对变量进行声明。...然后用java调用,一下是java在linux上调用shell脚本的命令: /** * @see 执行脚本获取linux上的ip * @author Herman.Xiong * @date 2014...// 字节流 InputStreamReader isr = null; // 缓冲流 BufferedReader br = null; // 结果 try { // 执行PING命令

2.3K20

编写Linux Shell脚本的最佳实践

同时,由于历史原因,shell有很多不同的版本,而且也有很多有相同功能的命令需要我们进行取舍,以至于代码的规范很难统一。...代码有注释 注释,显然是一个常识,不过这里还是要再强调一下,这个在shell脚本里尤为重要。因为很多单行的shell命令不是那么浅显易懂,没有注释的话在维护起来会让人尤其的头大。...具体的来说,对于shell脚本,注释一般包括下面几个部分: shebang 脚本的参数 脚本的用途 脚本的注意事项 脚本的写作时间,作者,版权等 各个函数前的说明注释 一些较复杂的单行命令注释 参数要规范...默认情况下windows判断utf-8格式是通过在文件开头加上三个EF BB BF字节来判断的,但是在Linux中默认是无BOM的。...否则,在Linux下运行的时候就会识别到开头的三个字符,从而报一些无法识别命令的错。 当然,对于跨平台写脚本还有一个比较常见的问题就是换行符不同。windows默认是 而unix下是 。

1K30

linux shell脚本编写实例_常用的shell脚本

LINUX Shell脚本编程实例详解(一)上 ping命令测试网段内主机的2例详解 使用linux已经有10来年了但是一直止于各种服务器的搭建和环境的调优,能力不能得到提升,今天突然下定决心学习Shell...脚本编程,因此以网上广为流传的《Shell脚本100例》为基础学习、实验和笔记。...使用vim shell100-scanip-1.sh命令创建脚本文件 #!.../bin/bash 在shell脚本的开头往往有一句话来定义使用哪种sh解释器来解释脚本。 目前研发送测的shell脚本中主要有以下两种方式: (1) #!/bin/sh (2) #!...i0.3:指定收发信息的间隔时间(秒计),这里的时间是综合考虑ping命令返回超时的时间和每次ping的时间,原则应为:返回超时<i参数<ping命令发送间隔。

3.1K30

Linux】进程实践项目 —— 自主shell编写

这个项目就是手搓一个shell模块,模拟实现Xshell中的命令行输入。 用下图的时间轴来表示事件的发生次序。其中时间从左向右。shell由标识为sh的方块代表,它随着时间的流逝从左向右移动。...所以要写一个shell,需要循环以下过程: 获取命令行 解析命令行 建立一个子进程(fork),防止打扰主程序的运行 替换子进程(execvp),来执行对应功能。...来看效果: 这样就完成了绝大部分的代码编写。...我们在加上一个while循环,让命令行一直运行试试: 这样就实现了shell的大部分功能,但是还是有一些功能没有做到:比如我们运行cd等内建命令时,会无法运行,所以我要加上特殊情况来保证内建命令可以执行...来看效果: 这样就完成了我们的自主shell编写!!!

8510

Linux-编写Shell的几个技巧

注释用 # 号来定义 ---- 2、 当运行失败时使脚本退出 有时即使某些命令运行失败,bash 可能继续去执行脚本,这样就影响到脚本的其余部分(会最终导致逻辑错误)。...用下面的行的方式在遇到命令失败时来退出脚本执行: # 如果命令运行失败让脚本退出执行 set -o errexit # 或 set -e 举例 #!...是用这个命令的输出结果取代命令本身。...用 $(command) 而不是引号 command 来做命令代换。 这种做法也是 shellcheck tool (可针对 shell 脚本显示警告和建议)所建议的。...通过阅读下面给出的指南来掌握此技巧 Linux 中启用 Shell 脚本的调试模式 在 Shell 脚本中执行语法检查调试模式 在 Shell 脚本中跟踪调试命令的执行

39420

编写Linux Shell脚本的最佳实践

同时,由于历史原因,shell有很多不同的版本,而且也有很多有相同功能的命令需要我们进行取舍,以至于代码的规范很难统一。...代码有注释 注释,显然是一个常识,不过这里还是要再强调一下,这个在shell脚本里尤为重要。因为很多单行的shell命令不是那么浅显易懂,没有注释的话在维护起来会让人尤其的头大。...默认情况下windows判断utf-8格式是通过在文件开头加上三个EF BB BF字节来判断的,但是在Linux中默认是无BOM的。...否则,在Linux下运行的时候就会识别到开头的三个字符,从而报一些无法识别命令的错。 权限记得加 这一点虽然很小,但是我个人却经常忘记,不加执行权限会导致无法直接执行,有点讨厌。。。...命令并行化 当我们需要充分考虑执行效率时,我们可能需要在执行命令的时候考虑并行化。shell中最简单的并行化是通过”&”以及”wait”命令来做: 当然,这里并行的次数不能太多,否则机器会卡死。

73720

编写Linux Shell脚本的最佳实践

同时,由于历史原因,shell有很多不同的版本,而且也有很多有相同功能的命令需要我们进行取舍,以至于代码的规范很难统一。...代码有注释 注释,显然是一个常识,不过这里还是要再强调一下,这个在shell脚本里尤为重要。因为很多单行的shell命令不是那么浅显易懂,没有注释的话在维护起来会让人尤其的头大。...默认情况下windows判断utf-8格式是通过在文件开头加上三个EF BB BF字节来判断的,但是在Linux中默认是无BOM的。...否则,在Linux下运行的时候就会识别到开头的三个字符,从而报一些无法识别命令的错。 权限记得加 这一点虽然很小,但是我个人却经常忘记,不加执行权限会导致无法直接执行,有点讨厌。。。...命令并行化 当我们需要充分考虑执行效率时,我们可能需要在执行命令的时候考虑并行化。shell中最简单的并行化是通过”&”以及”wait”命令来做: 当然,这里并行的次数不能太多,否则机器会卡死。

1.1K90

Linux shell命令总结大全

01 前言 Linux shell命令应该算是非常入门的东西,但是实际上在使用的时候,会遇到各种各样的问题,前几天我在我们的项目上需要做一个功能,根据进程名字杀死这个进程,下面是过程 1、我们正常需要的操作是...$ps |grep xxx $kill -9 xx 2、kill命令是常用的,但是用killall命令会更快 $killall -9 xxx 3、令我困扰的是我用的那个没有killall然后我做了下面的操作...$adb shell ps |grep speech |awk '{print $2}' > 1.txt $cat 1.txt |xargs -n1 adb shell kill.../sound/ -iname ft56Q.c 9、显示命令历史 history grep命令 最常用的-全字匹配 grep -wrn weiqifa ....grep '^[hr]' /etc/passwd 不是以h和r开头的 grep '^[^hr]' /etc/passwd 不是以h到r开头的 grep '^[^h-r]' /etc/passwd linux

1.2K10

Linux shell 基本命令

shell是什么 Linux系统本身逻辑上可以两部分:内核和实用程序。内核从打开计算机自检时就驻留在内存,直到计算机关闭。...每条命令实际都属于实用程序,当命令要执行时,才会由磁盘装入到内存,shell也是一种实用程序。 Shell负责执行终端请求的程序。...Shell在磁盘上搜索要执行的程序,直到找到位置,这是对于外部命令来讲。内部命令shell会饿直接执行。 基本命令 date命令:显示时间和日期,date显示周日期,月份,日期,时间和年份。...who命令:查看登录系统的用户信息。 echo命令:显示字符,Linux系统会忽略输出文本中多余的空格。 文件操作 Linux只能之别三种基本的文件类型:普通文件,目录文件,特殊文件。...管道 Linux系统可以吧两条命令的效果连接起来,这种连接称为管道,它可以把一条命令的输出作为另一条命令的输入。管道效果由字符|实现。

2.1K40

企业Linux运维SHELL编写规范 原

路径规定 为了方便维护人员维护,需要规定两个正式脚本的发布路径和维护人员的测试路径,不要将脚本放到规定路径以外,例如: 1.1 维护人员的测试路径: /opt/tmn/user 该路径用于维护人员编写脚本是的测试路径...编写一个脚本 每套脚本之间路径不要有交叉,将所有用到的脚本全部放在定义目录下 代码尽量简洁,不要啰嗦,注释得当 例如:编写一个给外系统传输网管传送接口数据的脚本 2.1 脚本名称定义 有意义,英文名.../opt/tmn/wlzy/trans_to_zznode/cfg    #配置文件路径(注意,为了脚本的易读性,尽量减少配置文件的使用,不建议将数据库用户信息等放到配置文件中读取) 2.3 执行文件编写...每套脚本中用到的shell脚本尽量不要太多,通常每个shell脚本内容100行左右,主脚本名称要以main打头 文件中不要使用tab制表符,要采用4个空格代替 例如:vi main_trans_to_zznode.sh...定时备份 编写好的脚本,要加入定时备份,通常备份的文件存储到另外一台服务器上 4. 待续……

91860

linux日志管理命令_shell查看日志命令

文章目录 一.任务计划 1.一次性调度执行——at 2.循环调度执行——cron 3.符号说明 4.使用实例 二.日志管理 rsyslogd配置文件 rules规则 三.日志轮转程序logrotate Linux11...systemctl status crond.service ---- 创建计划 #crontab -e (会打开一个专门记录循环任务的文件,直接追加新内容就可以,这个文件一般在/tmp/crontab) 编写内容...分 时 日 月 周 + 命令 0-59 0-23 1-31 1-12 0-7(0或7都表示周日) eg....4.使用实例 实例1:每1分钟执行一次command 命令: * * * * * command 实例2:每小时的第3和第15分钟执行 命令: 3,15 * * * * command 实例3:在上午...8点到11点的第3和第15分钟执行 命令: 3,15 8-11 * * * command 实例4:每隔两天的上午8点到11点的第3和第15分钟执行 命令: 3,15 8-11 */2 * * command

12.4K10
领券