bash脚本

以下是为您整理出来关于【bash脚本】合集内容,如果觉得还不错,请帮忙转发推荐。

【bash脚本】技术教程文章

linux – 在bash脚本中实现find的简单版本【代码】

我有一项任务,要求我创建一个可以采用这些参数的find版本: > -name(处理名称的模式)> -type(f和d)> -print> -exec(并且能够处理{},尽管如果存在exec,您可以假设它始终是最后一个参数,不需要用分号终止. 它还声明“谓词可以以任何顺序出现,并且隐式短路并在一起.不要处理-o(OR).”我也不允许在我的脚本中使用find. 因此,示例输入将如下所示:myfind ~/dirtocheck/ -name '*.o' -type f -print -exec /bin/mv {} ~/.TRASH\;关于如何...

linux – Bash:如何让脚本重新运行作为后台任务?【代码】

我正在编写一个旨在用作守护进程的Bash脚本.如果我的脚本的用户没有向脚本传递–sync选项,我希望脚本使用该选项将其自身重新运行为后台任务.这是我的代码(最后一部分是从this SO post被盗):#!/usr/bin/env bashargs=("$@") # capture them here so we can use them if --sync's not passed async=truewhile [ $# -gt 0 ] docase "$1" in--sync)async=false;;# other optionsesacshift done# if --sync isn't passed, rerun the sc...

在bash脚本之后保持Nginx活着【代码】

我正在尝试在我的Nginx容器中执行一个bash脚本,然后保持它活着. 所以,我的想法是在bash脚本中执行我需要的操作,并作为最后一个命令,使用docker-compose ps找到命令.但是容器一直在关闭.以下是我目前所拥有的摘要 DockerfileFROM nginx:latestCOPY ./run.sh /root/run.sh RUN ["chmod", "+x", "/root/run.sh"]CMD ["/root/run.sh"]run.sh#!/bin/bash nginx -g daemon off;我错过了什么吗?解决方法:你需要使用:nginx -g“daemon of...

linux – bash脚本和zsh shell中的数组行为(开始索引0或1?)【代码】

我需要阐述shell脚本中数组的以下行为: 想象一下,给出以下内容:arber@host ~> ls fileA fileB script.sh现在我可以执行以下命令:arber@host ~> ARR=($(ls -d file*)) arber@host ~> echo ${ARR[0]} # start index 0arber@host ~> echo ${ARR[1]} # start index 1 fileA arber@host ~> echo ${ARR[2]} # start index 2 fileB但是当我通过script.sh执行此操作时,它的行为会有所不同(Start Index = 0):...

linux – 如何在bash脚本中创建一个使用箭头进行导航的界面?

我一直在使用大量的脚本而且我已经厌倦了总是在终端中键入命令,所以我想写一些用户界面.想象“aptitude”之类的东西,通过像“top”这样的循环进行实时更新.这是一个VPS,所以我不能图形化. 我需要的只是简单的菜单,在箭头等物品之间移动.有没有一个很好的教程,甚至可以使用bash? 在此先感谢您的时间.解决方法:看看dialog命令.它允许您创建可以处理键盘(甚至鼠标)输入的可视UI小部件. 您可以选择创建输入框,菜单,文本框,复选框等等....

linux – Bash脚本 – 将子脚本stderr重定向到父级的stdout【代码】

我确定我遗漏了一些简单的东西,但我正在使用一个执行脚本来调用一些实用程序脚本,我想通过一个管道处理来自实用程序的所有输出.我的问题是实用程序使用stderr报告错误情况,但我无法捕获它以在父脚本中使用. 父脚本:#!/bin/bash child 2>&1 >/dev/null儿童剧本#!/bin/bash echo "Print" echo "Error" 1>&2我期望的是,孩子的stderr(以及它的所有命令)被重定向到stdout(因此没有输出),但是当我执行parent时,我得到错误echo’d到终端(...

linux – History命令在终端中工作,但在写为bash脚本时不起作用【代码】

我有一个简单的单线程在终端中完美运行:history | sort -k2 | uniq -c --skip-fields=1 | sort -r -g | head它的作用:最近给出了用户最常用的10个命令. (别问我为什么要做这样的事情) 我启动一个编辑器并在开头用#!/ bin / bash键入相同的内容:#!/bin/bash history | sort -k2 | uniq -c --skip-fields=1 | sort -r -g | head并说我将其保存为script.sh.然后,当我去同一个终端时,键入bash script.sh并按Enter键,没有任何反应. ...

Linux Bash脚本和Mongo【代码】

我有一个bash脚本来检查MongoDB数据库并在满足某些条件时发送电子邮件. Mongo为您提供了返回值的–eval选项.但相反,有类似的东西: ALERT = TRUE | FALSE 我有: ALERT = MongoDB shell版本:2.6.1#!/bin/bashecho "WatchDog Jerry"ALERT=$(mongo ob --eval 'var now = new Date().getTime(), alert = false; db.sess.find().forEach(function(sess){ var delay = 1 * 60 * 1000; var ts = sess.ts.toNumber(); if((now - ts) > de...

linux – bash脚本替换文件中出现的所有占位符【代码】

我正在尝试编写一个bash脚本,用一个同名环境变量替换文件中所有出现的占位符.举个例子,如果我有一个像下面这样的文件……This is an {{VAR1}} {{VAR2}}. It should work across multiple lines in this {{VAR2}}.…我设置了以下环境变量:VAR1='example' VAR2='file'在我的文件上运行脚本后,我应该得到输出:This is an example file. It should work across multiple lines in this file.我确定必须有一个使用awk / sed的解决方案...

linux – 在Bash脚本中解析命令输出【代码】

我想运行一个命令,提供以下输出并解析它:[VDB VIEW] [VDB] vhctest[BACKEND] domain.computername: ENABLED:RW:CONSISTENT[BACKEND] domain.computername: ENABLED:RW:CONSISTENT...我只对一些关键作品感兴趣,例如’ENABLED’等.我不能只搜索ENABLED,因为我需要一次解析每一行. 这是我的第一个脚本,我想知道是否有人可以帮助我? 编辑:我现在有:cmdout=`mycommand`while read -r line do#check for key words in $line done < $...