首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Bash 脚本 set 命令教程

服务器的开发和管理离不开 Bash 脚本,掌握它需要学习大量的细节。 set命令是 Bash 脚本的重要环节,却常常被忽视,导致脚本的安全性和可维护性出问题。...本文介绍它的基本用法,让你可以更安心地使用 Bash 脚本。 一、简介 我们知道,Bash 执行脚本的时候,会创建一个新的 Shell。...set -o xtrace 四、Bash 的错误处理 如果脚本里面有运行失败的命令(返回值非0),Bash 默认会继续执行后面的命令。 #!.../usr/bin/env bash foo echo bar 上面脚本中,foo是一个不存在的命令,执行时会报错。但是,Bash 会忽略这个错误,继续往下执行。...另一种办法是在执行 Bash 脚本的时候,从命令行传入这些参数。

1.7K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Bash 脚本 set 命令教程

    服务器的开发和管理离不开 Bash 脚本,掌握它需要学习大量的细节。 set命令是 Bash 脚本的重要环节,却常常被忽视,导致脚本的安全性和可维护性出问题。...本文介绍它的基本用法,让你可以更安心地使用 Bash 脚本。 一、简介 我们知道,Bash 执行脚本的时候,会创建一个新的 Shell。...set -o xtrace 四、Bash的错误处理 如果脚本里面有运行失败的命令(返回值非0),Bash 默认会继续执行后面的命令。 #!.../usr/bin/env bash foo echo bar 上面脚本中,foo是一个不存在的命令,执行时会报错。但是,Bash 会忽略这个错误,继续往下执行。...另一种办法是在执行 Bash 脚本的时候,从命令行传入这些参数。

    1.5K50

    PHP执行Shell脚本或Bash脚本文件并返回命令输出详情

    PHP执行shell脚本或者Bash脚本文件实例。system和exec函数可能被配置文件禁用,可以通过修改php配置文件删除被禁用的函数。1.通过system函数执行使用实例:php$shell = "dig www.afengblog.com";echo "";system($shell, $status);echo "";//shell命令执行结果和执行返回的状态值的对应关系.../bin/bash开头,指示命令解释器,需要执行的命令每行一个,以;结尾,内容结尾可不带换行,否则status获取的是换行执行的结果(即空),if判断为空值则会输出命令执行失败,但实际上结尾换行符以上的命令是实际执行成功的...php$shell = "bash dig.sh";echo "";system($shell, $status);echo "";//注意shell命令的执行结果和执行返回的状态值的对应关系...>执行效果如下:原文地址:https://www.afengblog.com/php-executes-shell-script-or-bash-script.html

    2.5K20

    使用sed命令批量处理Makefile文件的脚本

    1 sed命令的简要说明 由于sed命令可用的参数太多了,这里只列举脚本中用到的几个参数: 1 2 3 sed -i:直接修改文件而不是将处理的结果在屏幕上输出; sed -e:多个操作action按顺序执行...; sed -e '/help:/ a 要追加的内容':表示在help:文字后面追加内容。.../bin/bash # FileName: handle_makefile.sh # Description: Simple usage of sed command to modify...#echo "" | awk '{fflush()}' fi done 3 脚本执行结果 如上图所示,脚本不断遍历src目录下的Makefile文件,然后进行处理。...4 脚本管理 目前已经把这个脚本放在Github了,地址是https://github.com/vfhky/shell-tools,以后脚本的更新或者更多好用的脚本也都会加入到这个工程中。

    23410

    SHELL(bash)脚本编程五:内置命令

    bash的内置命令和外部命令的使用方法相同,我们已经介绍了一部分内置命令的用法,本文接着介绍另一些常用内置命令的用法。 1、: 此命令的执行没有任何效果,但在命令执行前会进行参数扩展和重定向。.../bin/bash #可以用在while复合命令中形成一个死循环 while : do cmd done #当然内置命令:可以换成任何返回值为0的命令,如: while true do...3、eval 内置命令eval后面的参数会先读取并组合成一个命令,然后再次读取并执行这个命令,这个命令的返回值作为eval命令的返回值返回。 举例: #!...eval echo ${array[*]/#/$} 4、hash bash中执行的外部命令会被缓存在一个哈希表中,直接执行命令hash可以查看当前bash缓存了哪些外部命令: [root@centos7...一种常见用途是在脚本程序被中断时完成清理工作。

    58420

    在Linux使用Bash脚本命令

    编写Bash脚本或在Linux命令行上工作时,最常见的任务之一是读写文件。 本文介绍了如何使用重定向操作符和tee命令或者在bash脚本将文本写入文件。...使用重定向操作符写入文件 在Bash中,输出的重定向使您可以从命令捕获输出并将其写入文件。...这是一个简单的示例,显示了如何将echo命令的输出重定向到文件: echo "this is a line" > file.txt 为防止覆盖现有文件,请使用内置的set启用“ noclobber”选项...>|运算符可让您覆盖Bash的“ noclobber”选项: set -o noclobber echo "this is a line" >| file.txt >>运算符将输出追加到文件末尾,而不是覆盖文件...echo "this is a line" | tee file.txt tee命令的默认行为是覆盖指定的文件,与>运算符相同。

    2K10

    linux-shell脚本命令之sed

    [ sed简单介绍: ] sed是一个非常好的文件处理工具, 它本身是一个管道命令, 以行为单位进行处理, 能够用于对数据行进行新增、选取、替换、删除等操作。...打开一个比較大的文件会消耗非常多内存。 2. 我们无法写脚本调用vim来编辑文件, 可是sed能够通过写脚本编辑文件。...[ sed经常使用命令: ] d: 删除, 由于是删除, 所以 d 后面通常不接不论什么东西; s: 替代, 能够直接进行替换的工作, 通常这个 s 的动作能够搭配正规表示法; a: 追加,...a 的后面能够接字符串, 而这些字符串会在新的一行出现(眼下的下一行); i: 插入, i 的后面能够接字符串, 而这些字符串会在新的一行出现(眼下的上一行); c: 代替, c 的后面能够接字符串...‘$a abc p’ ccc.txt # 将模式空间和文件里的内容都显示在屏幕上 [ sed其它命令: ] 1. = 为显示行号 sed ‘/^

    71720

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

    除了最简单的脚本,你很少想要执行每一个命令。执行一组命令或者重复执行一组命令若干次比执行单个命令更加有助。复合命令是将命令封装在一组其他命令中。...命令的结束符是该命令相反拼写顺序,就像使用括号将命令括住了。例如:神秘莫测的命令 esac 实际上是复合命令 case 的结束符。...0 虽然 ls 报告了一个错误,管道返回的还是成功的状态码,因为 wc 命令是运行成功的。 Bash 也定义了一个数组称之为 PIPESTATUS ,它包含了上此运行管道中每一个命令的单独状态。...2>& fi 在 if 命令中嵌入复杂的命令会使脚本语言难读且难以调试。你应该避免这样做。在这个例子中,如果 rm 命令运行失败,则它先显示自己的提示信息,接着显示脚本中的信息。...在大括号中的命令需要分号进行分割。 命令也可以使用子外壳进行分组,子外壳将在第九章进行讨论。 report.bash :报表格式化 report.bash 是一个用来给销售数字建立报表的脚本程序。

    2.4K101

    shell脚本–sed的用法

    本文主要介绍sed的一些基本用法,并通过shell脚本演示sed的使用实例。...1.sed的使用方法,调用sed 命令的语法有两种: 一.在命令行指定sed指令对文本进行处理:sed +选项 ‘指令’ 文件 二.先将sed指令保存到文件中,将该文件作为参数进行调用:sed +...选项 -f 包含sed指令的文件 文件 sed的常用选项: -r:使用扩展正则表达式 -e:它告诉sed将下一个参数解释为一个sed指令,只有当命令行上给出多个sed指令时才需要使用-e选项 -f...=:用来打印被匹配的行的行号 n:读取下一行,遇到n时会自动跳入下一行 r,w:读和写编辑命令,r用于将内容读入文件,w用于将匹配内容写入到文件 2.sed命令实例: 示例1:向文件中添加或插入行 sed.../bin/bash if [ $# -ne 2 ];then               #判断用户的输入,如果参数个数不为2则打印脚本用法   echo “Usage:$0 + old-file

    3.9K20

    Linux的sed命令

    Linux sed 命令是利用脚本来处理文本文件。sed 可依照脚本的指令来处理、编辑文本文件。Sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。......下面忽略#第一行的匹配root已经删除了数据的搜寻并执行命令搜索/etc/passwd,找到root对应的行,执行后面花括号中的一组命令,每个命令之间用分号分隔,这里把bash替换为blueshell...数据的搜寻并替换除了整行的处理模式之外, sed 还可以用行为单位进行部分数据的搜寻并取代。基本上 sed 的搜寻与替代的与 vi 相当的类似!...*$//g'192.168.1.100多点编辑一条sed命令,删除/etc/passwd第三行到末尾的数据,并把bash替换为blueshellnl /etc/passwd | sed -e '3,$d...sh-e表示多点编辑,第一个编辑命令删除/etc/passwd第三行到末尾的数据,第二条命令搜索bash替换为blueshell。

    4.1K10

    如何在Bash Shell脚本中使用`exec`命令?

    exec 是一个在Bash Shell脚本中使用的命令,它允许您替换当前进程的内容,包括进程ID和文件描述符。...本文将详细介绍如何在Bash Shell脚本中使用exec命令,并提供一些常见的用例和示例。...下面我们将介绍几个常见的使用 exec 命令的场景:替换当前 Shell 进程在Bash Shell脚本中,您可以使用 exec 命令替换当前的Shell进程。...总结exec 命令在Bash Shell脚本中的使用提供了灵活的功能。您可以使用 exec 命令替换当前的Shell进程、切换到不同的命令解释器以及重定向标准输入、输出和错误输出。...通过合理使用 exec 命令,您可以在Shell脚本中实现更高级的功能和控制。本文介绍了在Bash Shell脚本中使用 exec 命令的基本语法和用法,并提供了几个常见的使用场景和示例。

    3.7K50

    Linux sed命令的应用

    Linux Sed命令在工作中的使用 一个线上问题的引发的思考 昨天在处理一个日常运维工单的时候,出现了一个问题,大概是这样的:快到双十一了,公司需要拓展业务,开发的同事想要在一个数据库里面的所有表中添加几个字段...看到这里,想起了一个以前同事写的脚本,恰好能解决这个问题,这个脚本的思路是这样的:将上面的7个SQL语句执行204遍,每一遍只对数据表的名称进行更换。...回过头来再看这个脚本,这个脚本中最重要的一句是: sed -i "s/20181028/${startdate}/g" /home/yeyz/alter_table.sql 这句话的linux里面的sed...命令,它的目的是在文件中的每一行去匹配20181028,然后用startdate去替换它,它的语法是: sed -i "s/旧名称/新名称/g" file 是不是感觉这个命令的功能很强大?...这个命令还有很多其他的功能,明天把sed这个命令详细讲一讲吧。

    2.4K30

    Sed命令的基本使用

    N 从startLine开始向后的N行,总共是N+1行 Commonds sed的命令很多,这里我只列出常用的commonds d:删除符合条件的行 p:显示符合条件的行 a \string:在匹配的行后追加新行...-i:直接修改源文件(危险慎重使用) -e 处理 -e 处理:连续进行sed的处理 -f:指定处理脚本 另外可以使用类似sed -f SCRIPTFILE file (将SCRIPTFILE中的每个命令作用在...file上) Examples sed ‘1,2d’ /etc/fstab (删除/etc/fstab的第一和第二行) sed -n ‘/^\//p’ /etc/fstab (显示/etc...(将sed.txt中的符合l..e模式的字符串全部在后面加上”r”) sed ‘s#(1..e)#\1r#g’ sed.txt (将sed.txt中的符合l..e模式的字符串全部在后面加上”r...”) sed ‘s#l(..e)#L\1#g’ sed.txt (将sed.txt中的符合l..e模式的字符串的小写的”l”换成大写的”L”)

    1.2K60

    Linux sed 命令的使用

    sed是一种流编辑器,配合正则表达式使用,sed处理文件之时,把当前处理的文保存在缓冲区,sed命令处理缓冲区的内容,将缓冲区的内容显示在到屏幕上,sed能够对一些重复操作的动作进行简化。...先来了解一下sed的命令格式 sed [options] 'command' filesname sed [options] -f scriptfilename filesname sed的命令 a \...的后面 h 拷贝模板块中的内容到缓冲区; H 追加模板块的内容到缓冲区; l 列表不能打印内容的清单; n 读取下一个输入行,用下一个命令处理新的行而不是用第一个命令 N 追加下一个输入行到模板块后面并在二者间嵌入到一个新行...以上命令中字符 / 在sed中作为定界符使用,也可以使用任意的定界符: sed 's:StringFileOriginal:NewStringFile:g' sed 's|StringFileOriginal...在Example中,所有包含String的都写入file中 sed -n '/String/w file' Example 追加命令:a\ 将 this is a test line 追加到 以test

    3.2K100

    用bash脚本创建screen并向其发送命令

    GNU Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。...GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。 为什么要用脚本创建screen?...为了利用服务器的多个cpu,我们经常需要同时创建多个screen,如果screen的个数非常多,手动创建会非常麻烦。 如何用bash脚本创建screen并向其发送命令?...如果要退出窗口,则再向其发送一条 exit 命令即可 注意 这种方式发送的命令不能太长,否则会导致脚本卡住。...如果需要发送一条很长的命令,或者连续发送许多条命令,最好单独写一个脚本,发送一个脚本命令给screen,让screen执行新的脚本。

    1.5K00

    处理Apache日志的Bash脚本

    下面就是我的日志分析脚本,虽然它还不是通用的,但是我相信里面用到的命令,足以满足一般的日志分析需求,同时也是很好的学习Bash的实例。如果下面的每一个命令你都知道,我觉得可以堪称熟练使用Bash了。...二、为什么要用Bash 很多计算机语言,都可以用来完成这个任务。但是,如果只是简单的日志分析,我觉得Bash脚本是最合适的工具。...主要原因有两个:一是"开发快",Bash脚本是各种Linux命令的组合,只要知道这些命令怎么用,就可以写脚本,基本上不用学习新的语法,而且它不用编译,直接运行,可以边写边试,对开发非常友好。...(5)sed 's/^ *//g' > www-01.log.result 上一步uniq命令添加的访问次数,是有前导空格的。...为了简洁,上面的例子每一组只包含两条记录,实际上每一组都包含31条记录(分别代表当月每天的访问次数)。 (9)log.awk脚本 为了将31天的访问次数加总,我动了很多脑筋。

    1.2K50
    领券