Tag: bash

Shell脚本如果已经发现错误并发送,则停止重复相同的电子邮件

我写了一个脚本,在日志中写一个单词并发送电子邮件,如果找到该单词(错误),脚本每小时运行一次,如果找到该单词(错误),它将在那里一天和第二天再次开始日志可能找不到错误。 因此,如果发现错误,每小时运行的脚本会每小时向我发送相同的电子邮件,如何在2次或仅一次后停止发送。 if grep ‘error’ “/path to log”; then echo “error found” | mailx -s “error alert” email-id fi

我需要制作一批用户

我编写了一些代码,允许我根据其中包含用户名的文件创建一批用户。 但它最终从几行变为大约50行,我删除了它。 必须有一个更好的方法,我被困住了。 我的目标是有一个bash脚本,可以让多个用户使用密码和自定义UID,并添加到组中。 谁能告诉我一个脚本的例子呢?

如何使用dpkg-query命令(带管道)的正确方法?

我将此别名添加到.bashrc (当然在一行中),但不幸的是,这不起作用: alias lspkg=”dpkg-query -W -f=’${db:Status-Abbrev}\t${binary:Package} – ${binary:Summary}\n’ | awk -F’\t’ ‘/^ii/ {print $2}'” 知道为什么吗? 我试图反斜杠反斜杠或单引号,没有更好的结果。 参考: 如何将已安装的软件包传递给apt-cache?

使用Gnome-Do运行Matlab:bash脚本问题

在Ubuntu中,应该使用以下命令启动Matlab: setsid matlab -desktop 因此,我创建了这样一个bash脚本: #!/bin/bash setsid matlab -desktop 并将其保存为/ usr / bin / launchMatlab。 现在,如果我按Alt + F2,键入launchMatlab并单击Run或按Enter键,将启动Matlab。 但是,Gnome Do虽然找到了脚本,但只允许打开,显示,打开终端并复制到剪贴板。 允许以脚本的forms执行脚本。 如何制作启动脚本?

空格文字作为bash中的函数名

这个问题与我以前的一个问题松散相关。 TL;来自muru的答案的 DR是函数名中的字符必须是可移植字符集才能对函数名有效。 问题是列表上有空格( 或字符),这就是为什么我不知道为什么我不能这样做的原因: $ $’ ‘(){ echo “Hullo”;} bash: `’ ”: not a valid identifier $ hello$’ ‘world(){ echo “hi”;} bash: `hello’ ‘world’: not a valid identifier 使用其他shell: $ mksh -c ‘\ (){ echo “Hello”;} ‘ mksh: : invalid function name $ ksh -c ‘\ (){ echo “Hello”;} ‘ ksh: : invalid function […]

将rm替换为safe-rm是否安全?

我们很高兴使用safe-rm作为safe-rm的替代品,但是它被认为是安全的吗? 例如 alias rm=’safe-rm’

我正在解析`ls`的输出,出了点问题

我制作了这个简单的脚本,以递归方式将文件复制到许多子目录中。 这里我展示了3个子目录的问题。 我在目录中有3个子目录和2个文件,如下所示 0.003/ 0.007/ 0.015/ program.cpp driver.sh* 我想使用下面显示的myscript.sh将program.cpp复制到所有这些子目录: #!/bin/bash mydir=`pwd` for i in `ls -la $mydir | grep “[0-9]$” | awk ‘{print $NF}’` do if [ -e $mydir/$1 ] then echo “cp -i $1 $i/” else echo “File \”$1\” not found in current directory” fi done 我把cp放在echo里面来测试代码。 输出很奇怪, cp -i program.cpp 32/ cp -i […]

列出目录的基本脚本([:discover:unexpected operator)

我遇到运行列出目录的基本脚本的问题。 for item in * do if [ -d $item ] then echo $item fi done 结果: 列出所有系统文件夹 返回错误:for.sh:4:[:discover:意外操作符 列出我的所有文件夹,其名称以小写字符开头 我猜是-d发现初始小写字符的问题? 有人可以解释为什么会这样吗? 非常感谢提前。

java上的问题:找不到

Initializing InstallScape using JVM at /home/manoj/iscap/iscape/runtime/LNX86/bin/java. This might take some time… /home/manoj/iscap/iscape/bin/iscape.sh: 209: exec: /home/manoj/iscap/iscape/runtime/LNX86/bin/java: not found## 我试图安装ic610 cadence ..但在iscape安装期间我得到了这个错误..我的安装去终止..我还安装了jdk … manoj@Greenchip:~$ sudo sh /home/manoj/ic610/IC610_lnx86.Base/CDROM1/SETUP.SH sudo: unable to resolve host Greenchip Copyright 1985-2006 by Cadence Design Systems Inc. LICENSED SOFTWARE – REVERSE ASSEMBLY, REVERSE COMPILATION AND REVERSE ENGINEERING PROHIBITED. The information contained in this package […]

无法使用Bash脚本设置环境变量

我想从我写的bash脚本中设置一个环境变量。 所以我创建了一个bash脚本并将其命名为set.sh 其内容如下: #!/bin/bash export DEV_SRC=”/home/m/mydata/sourecCode” echo $DEV_SRC 当我运行此脚本时,输出是 /home/m/mydata/sourecCode 但是,如果我在运行上述脚本的同一终端上运行此代码, echo $DEV_SRC 我看不到任何价值,所以我认为价值不会被输出。 为什么价值没有出口?