【Linux bash常用快捷键】教程文章相关的互联网学习教程文章

linux – 运行时分析文件的bash脚本【代码】

我想做一个bash脚本来分析日志文件中的错误.我一直在寻找一种有效的方法来获取信息. 你能给我一些解决方案吗? 假设我的脚本将始终运行并获取写在日志文件中的每个新行,详细事件将生成警报或电子邮件(这不是问题). 谢谢!解决方法:使用tail -f不断获取新行并通过bash的内置读取操作它们.tail -f logfile | while read line; dotest "$line" = "nuclear meltdown" && echo "Run for your life!" done

c – 如何在Linux中向Bash添加运算符?

我想添加一个运算符(例如^>)来处理前置而不是追加(>>).我是否需要修改Bash源或是否有更简单的方法(插件等)?解决方法:^是一个糟糕的角色选择,因为它已经在history substitution中使用. 要向shell语法添加新的重定向类型,请从parse.y开始.将其声明为新的%标记,以便可以使用它,将其添加到STRING_INT_ALIST other_token_alist [],以便它可以出现在输出中(例如错误消息),更新解析器中的重定向规则,并更新词法分析器以发出此遇到相应字...

linux – 检索bash的输出历史

我正在使用Mac OSX,我正在寻找一个命令来检索我运行的命令的输出历史(当它们存在时).可能吗 ?解决方法:我认为Bash只保留您输入的命令的历史记录.您可以输入“历史记录”来检索它.但我不认为Bash将这些命令的输出存储在任何地方,这必须是终端模拟器的一个功能.

linux – Bash if string = this或that【代码】

试图编写一个脚本,它将读取用户输入的内容…我知道它是基本的,但我坚持第一个如果..echo "Please enter yes or no (y/n)?" read string if [ $string = "y" -o "n" ]thenecho "User selected $string"elseecho "You didn't enter y/n !!!" fi我希望它是[$backup =“y”或“n”] 有任何想法吗?解决方法:不是你实际问过的问题,而是……你告诉用户输入“是”或“否”但只测试y或n – 当然,你给了他们一个提示,但是用户有提示性.因此...

linux – 如何自动在bash / zsh中发出(新邮件)通知?【代码】

好吧,我的问题的标题有点模糊.现在让我清楚地解释一下. 我们知道bash中有一个“MAILCHECK”,每隔几分钟bash会检查邮箱,如果你有新邮件就会给你一条消息.请注意,您不需要此通知的命令.如果有新邮件,Bash会随时自动打印邮件. 在这里,我有几个问题: >我的zsh中没有这样的通知(也许我忘了我的.zshrc中的内容)>如何在bash / zsh中更改“新邮件通知”的格式>在bash / zsh中完成任何命令后如何执行某个命令.例如当我输入ls和< enter>时,将...

linux – 当使用变量进行比较时,awk无法使用bash脚本【代码】

以下是我的bash脚本.如果我使用varible oid在awk中进行比较,它不会显示匹配的行.oid="3586302804992" SYMBOL_CSV_FILE="symbol/BAC" awk -F, '$5 == $oid' "$SYMBOL_CSV_FILE" echo "2nd" awk -F, '$5 == "3586302804992"' "$SYMBOL_CSV_FILE"O / P是2nd BAC,1,O,1,3586302804992符号/ BAK文件内容是BAC,1,O,1,3586302804992o将“”放在第3行的$oid附近,并没有任何区别.解决方法:代替:awk -F, '$5 == $oid' "$SYMBOL_CSV_FILE"像这...

在bash脚本中设置系统卷(在linux中)【代码】

我需要在bash脚本中设置系统卷,但我不知道如何执行此操作.我应该使用alsactl吗?我可以使用/ proc或/ sys中的某些值吗?解决方法:您应该使用amixer工具. 运行不带参数的amixer以获取混音器控件列表.使用这样的命令:amixer set Master 50% # set absolute amixer set Master 2dB+ # set relative amixer set Master unmute

linux – 在Bash脚本中使用find命令来查找整数【代码】

我需要找到并存档具有特定文件名的文件,例如ABC_000.jpgfind ~/my-documents/ -iname "ABC_***.JPG" -type f -exec cp {} ~/my-documents/archive/ \;但是我似乎无法找到一种方法来限制find函数只能找到3个整数,因为有些文件名为ABC_CBA.jpg我不想包括解决方法:试试这个:find ~/my-documents/ -iname "ABC_[0-9][0-9][0-9].JPG" -type f -exec cp '{}' ~/my-documents/archive/ \;编辑:或使用正则表达式:find -E ~/my-documents...

linux – 通过Bash ShellScripting从url列表中提取父域名【代码】

我有一个像这样的网址列表:http://noto.zrobimystrone.pl/pucenter/images/NGdocs/ http://visionwebmkt.com/unsubscribe.php?M=879552&C=b744d324e38f5f3b0bcf549f1d57a3ab&L=20&N=497 http://www.meguiatramandai.com.br/unsubscribe.php?M=722&C=8410431be55bf12faac13d18982d71cd&L=1&N=3 http://www.contatoruy.in/link.php?M=86457&N=4&L=1&F=H http://www.maxxivrimoveis.com.br/ http://www.meguiatramandai.com.br/unsub...

linux – 一个通用的bash脚本,用于安装apt-get和yum【代码】

我正在尝试编写一个简单的bash包装器,它抽象yum和apt-get.基本上所以我们可以做一些像通用安装卷曲这是我到目前为止:# universal-install package=$1 apt=`command -v apt-get` yum=`command -v yum`if [ -n "$apt" ]; thenapt-get updateapt-get -y install $package elif [ -n "$yum" ]; thenyum -y install $package elseecho "Err: no path to apt-get or yum" >&2;exit 1; fi是否有任何错误或改进/优化可以做出?解决方法:看...

linux – Bash While循环不结束【代码】

我正在玩bash编程.我写了一个简单的bash程序,它接受读者的输入.如果读者输入字符串“bye”,则while循环结束.所以程序非常简单,我写过这样的东西#!/bin/sh inputString="hello" while [ inputString != "bye" ] doecho "Please write something (bye to quit)"read inputStringecho "You typed : ${inputString}" done它一直工作,直到用户一次输入两个单词. 如果用户输入类似的内容bye bye程序崩溃会产生以下错误./WhileLoop.sh: 5:...

linux – 如何从bash脚本修改/ etc / environment【代码】

目前,我正在尝试自动化我们在工作中使用的程序.每当我们安装Oracle的JDK时,我们都需要手动将其添加到我们的全局PATH变量中.以下是该程序的摘录:sudo vi /etc/environment add this at the beginning of the PATH : "/opt/jdk1.6.0_45/bin:"这是我的计算机上/ etc / environment的内容:PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"以下是修改后的样子:PATH="/opt/jdk1.6.0_45/bin:/usr/loca...

linux – Bash subshel​​l之谜【代码】

Learning Bash Book提到子shell将仅继承环境变量和文件描述符,…等,并且它不会继承未导出的变量$var=15 $(echo $var) 15 $./file # this file include the same command echo $var$我知道shell会为()case和./file创建两个子shell,但为什么在()情况下,子shell识别var变量虽然它没有导出但在./file情况下它没有识别它?# Strace for () clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=...

linux – Bash printf%q无效指令【代码】

我想在.bashrc文件中更改我的PS1.我找到了一个使用带有%q指令的printf来转义字符的脚本:#!/bin/bash STR=$(printf "%q" "PS1=\u@\h:\w\$") sed -i '/PS1/c\'"$STR" ~/.bashrc问题是我收到此错误:script.sh: 2: printf: %q: invalid directive任何的想法 ?也许另一种逃避角色的方法?解决方法:printf命令内置于bash中.它也是一个外部命令,通常安装在/usr/bin/printf中.在大多数Linux系统上,/usr/bin/printf是GNU coreutils实现....

linux – 如何匹配文件扩展名,无论bash脚本中的大小写【代码】

我只想说我想匹配.abc扩展名,但它可能会以.ABC或.AbC的形式出现.如何识别.abc扩展名的所有这些变体以处理.abc文件? 现在我正在使用: ls | grep -i .abc 但是我听说grep的管道通常不是最好的主意.有一个更好的方法吗?解决方法:如果从字面上输入扩展名,则可以使用字符类:ls *.[Aa][Bb][Cc]您还可以使用find的-iname选项:find -maxdepth 1 -iname '*.abc'