【linux-Bash:“完成”意外(预期“ FI”)】教程文章相关的互联网学习教程文章

Linux-在bash脚本中,git无法识别它自己的目录?【代码】

因此,我在Atlassian-Stash中编写了一个bash脚本,用于接收后事件.在此脚本中,提交后,将创建一个代码协作者代码审查.要创建代码审查,它需要提交标题,提交用户和git SHA进行任何更改,并将更改上传到代码审查中.为了获得这些信息,我将目录克隆到–depth = 1(甚至没有–depth = 1)并使用git log(选项). 我看到的问题是,如果我手动运行脚本,它就可以正常工作.但是,如果它在提交后运行,则在克隆目录说它不是git目录后会出错.如果我在脚本退...

linux-如何从bash中的字符串获取数字值【代码】

我有一个xml文件,我只想从文件中的字符串中提取数值.我想到的解决方案之一是cat file.xml |grep -i "mu "| grep -o '[0-9]'但是我得到每个数字用换行符隔开,例如100,我先得到1然后换行,然后0依此类推.我想到的另一个解决方案是cat file.xml |grep -i "mu "|cut -d ' ' -f 4| tr '=' ' '|cut -d ' ' -f2|tr '""' ' '|sed -e 's/^ *//g' -e 's/ *$//g'我的问题:对于这个问题,是否有一种更简单的解决方案,即我仅从一行中获取一个数值...

Linux-Bash脚本来查找,处理和重命名文件?【代码】

我正在尝试编写一个脚本,该脚本将遍历服务器上各个子目录下的所有文件,查找.jpeg文件,并通过将其转换为非渐进jpg的转换器运行它们. 我有:find /home/disk2/ -type f -iname "*.jpg" 查找所有文件. 然后,如果找到例如1.jpg,则需要运行:/usr/bin/jpegtrans /file location/1.jpg > /file location/1.jpg.tempjpegtrans应用程序将文件转换为需要替换原始文件的临时文件.因此,我需要删除原始文件并将1.jpg.temp重命名为1.jpgrm /file...

linux-包含&符号的bash脚本的/usr/bin/time【代码】

假设我们有一个包含命令的bash脚本,其中一些命令可能带有&符号.我想使用/usr/bin/time来衡量这种脚本的执行时间,但是由于&符,实际工作是在后台完成的,而脚本将命令返回给Shell,导致测量结果等于零. 有没有办法抑制&符号的行为(即不让命令在后台运行)? 之所以尝试执行此操作,是因为我想进行大规模基准测试(大量数据集,并且使用多个工具(某些工具表现出这种行为)). 一个具体的,非常简单的示例如下. 创建一个脚本test.sh,其中包含:#...

Linux-在gnome-terminal -x中运行bash函数【代码】

我有一个bash函数,我想使用gnome终端在新窗口中执行该函数.我该怎么做?我想在blah.sh脚本中执行以下操作:my_func() {// Do cool stuff}gnome-terminal -x my_func我现在正在做的是将my_func()放入脚本中并调用gnome-terminal -x ./my_func解决方法:您可以将其与export -f一起使用,就像@kojiro的上面的注释中指出的那样.# Define function. my_func() {// Do cool stuff }# Export it, so that all child `bash` processes see it...

linux-Bash从文件读取并解析每一行【代码】

这个问题已经在这里有了答案: > Loop only iterates once with `ssh` in the body 1个我需要在多个客户的linux服务器上管理特定软件的更新.通过将.tar.gz文件发送到每个服务器并夸大其覆盖旧软件文件来提供更新. 我已将客户的服务器列表放入txt文件中,如下所示:user1@customer-server-1-address:22:/path/to/software/server1:NULL:Customer1nameuser2@customer-serv...

android-在adb shell上运行linux bash脚本【代码】

我正在尝试在adb shell上运行linux shell脚本.出错了!这是整个故事: 我写了一个简单的bash脚本hello.sh:#!/bin/bash function hello {echo "hello world!" }hello以./hello.sh运行它会产生o / phello world!现在我使用将文件推送到android设备adb push hello.sh /data/folder_name然后运行以下命令以输入adb shelladb shell在adb shell中触发以下命令cd /data/folder_name chmod 755 hello.sh sh hello.sh这是我在adb shell上得...

linux-从bash脚本启动进程失败【代码】

我有一台中央服务器,在该服务器中,我定期从cron启动脚本来检查远程服务器.该检查是按顺序执行的,因此首先是一台服务器,然后是另一台服务器. 该脚本(从中央服务器)在远程计算机上启动另一个脚本(将其称为update.sh),并且该脚本(在远程计算机上)正在执行以下操作:processID=`pgrep "processName"` kill $processID startProcess.sh该进程被杀死,然后在脚本startProcess.sh中启动,如下所示:pidof "processName"if [ ! $? -eq 0 ]; ...

linux-如何在BASH中打印整行【代码】

我是bash脚本的新手,我一直在尝试打印出整行,但是找不到工作方法. 这是我的代码#!/bin/bash MOTD=`cat /etc/motd | awk '{print $1}'` if [ "$MOTD" = "WARNING" ] thenecho "Audit Criteria: Warning banner exist."echo "Vulnerability: No."echo "Details: $MOTD " elseecho "Audit Criteria: Warning banners does not exist."echo "Vulnerability: Yes."echo "Details: $MOTD " fi我的输出是:Audit Criteria: Warning banner...

Linux bash脚本:如何搜索列但返回整行?【代码】

我有一个制表符分隔的文件,其中包含如下数据:col1 col2 col3我编写了一个bash脚本,该脚本允许使用以下代码搜索文件:echo -en "Search term: " read searchdata=`cat data.data | egrep -i "$search"`这对于搜索整个文件非常有用,但是我现在只想搜索特定列(用户可以选择). 我知道cut命令,可以使用此命令在列上进行搜索:cat data.data | cut -f$col | egrep -i "$search"但是然后只输出该列,因此,如果我使用此方法,则我需要...

linux-了解bash脚本语法【代码】

以下bash语法是什么意思:function use_library {local name=$1local enabled=1[[ ,${LIBS_FROM_GIT}, =~ ,${name}, ]] && enabled=0return $enabled }我对行[[,${LIBS_FROM_GIT},=?,${name},]]不太了解.是某种正则表达式还是字符串比较?解决方法:这是比较变量并防止某些变量未定义/为空的怪异行为的技巧. 您可以使用,或任何其他.最主要的是,它希望将${LIBS_FROM_GIT}与${name}进行比较,并防止其中一个为空的情况. 正如Etan Reisn...

linux-Bash:超出了表达式递归级别(错误令牌是…)【代码】

我正在编写一个程序,该程序打印用户名和用户已登录的次数,否则打印“未知用户”. 我的代码如下:iden=$1 c='last | grep -w -c $iden' if (( $c > 1 )) thenecho "$iden $c" elseecho "Unknown user" fi而且我不断收到此错误:-bash: ((: last | grep -w -c 123: expression recursion level exceeded (error token is “c 123”)解决方法:要将命令的输出存储在变量中,您需要说var = $(command).因此,使用:c=$(last | grep -w -c ...

Linux根文件系统和目录结构及bash特性2

Linux系统上的文件类型: -:常规文件,即f d:directory,目录文件 b:block device,块设备文件,支持以“block”为单位进行随机访问 c:character device,字符设备文件,支持以“character”为单位进行线性访问 major number:主设备号,用于标识设备类型,进而确定要加载的驱动程序 minor number:次设备号,用于标识同一类型中的不同的设备 早期用8位二进制表示:0-255 l:symbolic li...

Linux根文件系统和目录结构及bash特性1

Linux文件系统: 内核并不真正负责具体的工作,这些工作是应用程序来负责的 Linux glibc 程序的编译方式: 动态链接式编译: 静态链接式编译: 进程的类型: 终端:硬件设备国,关联一个用户接口 与终端相关:通过终端启动 与终端无关:操作引导启动过程当中自动启动 操作系统的组成: 静态:kernel,application 文件系统:以层级结构划分,倒置的树状结构 ...

关于CentOS下Linux的bash 漏洞,查看和解决的方法【图】

说明:我是今天才发现这个问题的,据说06年就就已经发现了,我才在才发现,后知后觉,如果不是遇到了,估计还没发现,我是个假的程序猿。。。如果Shell版本较旧的话,建议升级到最新版本的Shell,特别是企业用户。 因为近年老版本的的bash被暴存在严重的安全漏洞。 例如:bash软件曾经爆出了严重漏洞(破壳漏洞),凭借此漏洞,攻击者可能会接管计算机的整个操作系统,得以访问各种系统内的机密信息,并对系统进行更改。任何人的计算机...