稍有常识的人都能看出,这是set命令加上了-e和-x两个参数 (废话么这不是)。那么,我就把这两个参数拆开,分别说一下它在脚本中的用处。 set -e 先说说set -e,这个参数的含义是,当命令发生错误的时候,停止脚本的执行。 通常来说,我们会习惯于使用&&来实现这样的功能,比如: 1 2 3 #!/bin/bash echo 1...
刚刚学会了一个很实用的shell命令set -ex,在这里分享一下。 set -e 先说说set -e,这个参数的含义是,当命令发生错误的时候,停止脚本的执行。 通常来说,我们会习惯于使用&&来实现这样的功能,比如: echo 1 && rm non-existent-file && echo 2 1. 但是,写成一行呢,可读性有点差,分成多行的话,也得注意换行...
如果设置了set -e , 此时 `echo $ip | grep '^10\.'` 会grep失败,导致程序退出(for 循环提前结束),而在终端没有任何提示(因为管道命令|是另起的一个新shell) 程序防御 - 考虑意料之外的事 你的脚本也许会被放到“意外”的账户下运行,像缺少文件或者目录没有被创建等情况。你可以做一些预防这些错误事情。
51CTO博客已为您找到关于shell脚本中的set的相关内容,包含IT学习相关文档代码介绍、相关教程视频课程,以及shell脚本中的set问答内容。更多shell脚本中的set相关解答可以来51CTO博客参与分享和学习,帮助广大IT技术人实现成长和进步。
在shell脚本中set命令就可以轻松实现。set命令的-e参数,linux系统⾃带的说明是:"Exit immediately if a simple command exits with a non-zero status.",也就是说,在"set -e"之后出现的代码,⼀旦出现了返回值⾮零,整个脚本就会⽴即退出,那么就可以避免⼀些脚本的危险操作。实验如下:#!/bin/sh...
在命令中直接输入 set,则显示系统中已经存在的一些shell变量。 设置新变量值set var[n]=value set -ex var 参数选项 -e(errexit):如果命令的返回值不是0,则直接退出shll的执行。 -x():执行命令后,优先显示该命令及对应的参数。 14.2 read命令 -- 从控制台读取输入 参考:computerhope.com/unix/b 从屏幕...
1,调试脚本的时候需要暴露每一个变量,因此,脚本头设置了set -x。 2,,main函数是该脚本的主要函数,也是整个脚本的入口,因此,在main函数内增加了一个sleep 60 以作断点,脚本运行的时候会等待60秒,以方便观察每一个变量。 也就是说,不管哪个shell脚本,我们在调试的时候都需要打一个合理的断点,通常的断点是利用sl...
echo $变量名 set 显示本地所有的变量 unset变量名清除变量 readonly显示当前shell下有哪些只读变量 环境变量用于所有用户进程(包括子进程)。Shell中执行的用户进程均称为子进程。不像本地变量只用于现在的Shell,环境变量可用于所有子进程,包括编辑器、脚本和应用。
yum-y installexpect1.expect 以.exp 或者.ex结尾2.set 设置变量setIP10.0.0.7setUSER rootsetpassword13.set timeout 设置超时时间4.interactexpect交给用户 可以继续执行命令5.如果使用脚本调用expect需要使用cat spawn 交互程序开始后面跟命令或者指定程序 ssh ssh-copy su-expect获取匹配信息匹配成功则执行expect后...
/bin/sh -ex的学习 shell脚本开头部分:这些非注释,而是说明在哪些shell环境中执行。如#!/bin/bash是指此脚本使用/bin/bash来解释执行。 其中,#!是一个特殊的表示符,其后,跟着解释此脚本的shell路径。 #!/bin/sh -ex #!/bin/bash -ex #!/bin/zsh -ex...