Articles of shell

为什么我的bash脚本在空的空间上打破?

我有一个shell脚本,正在打破虚拟主机和*之间的第42行的空间。 结果,唯一的东西是echo'd到控制台 <VirtualHost 我想要发生的是我的整个string被回显到控制台。 <VirtualHost *:80> DocumentRoot /Applications/MAMP/htdocs/web ServerName web.localhost <Directory /Applications/MAMP/htdocs/web> Options Indexes FollowSymLinks MultiViews +Includes AllowOverride All Order allow,deny allow from all </Directory> </VirtualHost> 这里是我的脚本供参考: #!/bin/bash # This script should be used to automate the web site installation checkFileForString () { # $1 = file # $2 = regex # $3 = text […]

比较不同列的两个文件并打印不同的列

我想比较文件2的第二列与文件1的第一列。 如果它们相等,我想将file1的第二列添加到file2 ,如output.txt所示。 文件2 chr5 ENST00000514151 utr5 0 + chr5 ENST00000512281 utr5 0 + chr5 ENST00000512281 utr5 0 + chr5 ENST00000512281 utr5 0 + 文件1 ENST00000512281 a ENST00000504031 b ENST00000776348 c output.txt的 chr5 a ENST00000512281 utr5 0 + chr5 a ENST00000512281 utr5 0 + chr5 a ENST00000512281 utr5 0 + 我能够比较文件 awk 'NR==FNR{a[$1];next}$2 in a{print}' […]

脚本内ps aux和`ps aux`之间的不同结果

我有一个bash脚本( ScreamDaemon.sh ),其中的一个检查,它没有运行的例子已经被添加。 numscr=`ps aux | grep ScreamDaemon.sh | wc -l`; if [ "${numscr}" -gt "2" ]; then echo "an instance of ScreamDaemon still running"; exit 0; fi 通常情况下,如果没有其他脚本运行, ps aux | grep ScreamDaemon.sh | wc -l应该返回2 (它应该find自己和grep ScreamDaemon.sh ),但是它返回3 。 所以,我试图分析发生了什么,并添加一些回声看到这个: 我已经添加到脚本中的行 ps aux | grep ScreamDaemon.sh ps aux | grep ScreamDaemon.sh | wc […]

Sed来遍历文件并replace占位符variables

我希望使用bash来遍历一个文件,并将所有的占位符varialbes变成真正的variables: $ PLACEHOLDER_USER – > $ USER $ PLACEHOLDER_STATE – > $ STATE 它需要与任何以占位符开始的variables一起工作,并把它变成它的实际variables。 这是迄今为止的代码: $FILE="/mytest.conf" sed -i "s/$var1/$var2/g" "$FILE" 不过,我不知道如何让它遍历整个文件,我不知道如何使任何variables以$ PLACEHOLDER_开头 任何帮助,将不胜感激。

如何读取csv文件到bash脚本中的数组

我写了下面的代码来读取我的csv文件(它有固定数量的列,但不是固定的行数)到我的脚本作为一个数组。 我需要它是一个shell脚本。 usernames x1 x2 x3 x4 username1, 5 5 4 2 username2, 6 3 2 0 username3, 8 4 9 3 我的代码 #!/bin/bash set oldIFS = $IFS set IFS=, read -a line < something.csv 我用过的另一个选项是 #!/bin/bash while IFS=$'\t' reaad -r -a line do echo $line done < something.csv 对于这两个我试过一些testing代码,看看arrays的大小将是什么,我似乎得到了第一个10的大小,但arrays只输出用户名。 对于第二个,我似乎得到0的大小,但数组输出整个csv。 帮助非常感谢!

在ShellScript中,基于Curl输出分配variables

我试图编写一个shellcript,将分配一个variables来curl输出。 当我从命令行运行这个curl命令的输出是这样的: $curl "test.test.com/landing/505978290?c=Area%20Rug" www.test.com/test/test?test=test 去这个url应该只是输出一个文本文件与另一个url。 我想testing这第二个url是它应该是的url。 url = $(curl "test.test.com/landing/505978290?c=Area%20Rug") if [$url -gt "www.tazinga.com/landing/505978290?c=area%20rug&si=gw&alt_css=silver&sv=34&"] echo ""test.test.com/landing/505978290?c=Area%20Rug did not redirect properly" else echo "Right URL" fi 但是,当我运行的shellcript我得到这个输出: % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 75 0 75 0 0 997 0 –:–:– –:–:– […]

查找和sorting目录

我需要find不超过30天的目录,然后按datesorting(从最新到最旧)。 这是我的命令: find /tmp/logs/ -maxdepth 1 -mindepth 1 -type d -mtime -30 问题显然是sorting部分:)

无法只用Linux date命令设置一年

出于某种原因,我只能使用date命令更新一年 date Tue Mar 4 20:15:42 IST 2014 date '+%Y' -s '2013' date Tue Mar 4 20:13:01 IST 2014 我在RedHat和Ubuntu上都试过 NTP没有运行…

在linux上完成密码字段scp命令

我写一个shell脚本来使用scp命令(ssh)将文件传输到计算机。 这显然是密码保护有没有一种方法,无论是…禁用密码或自动为客户完成密码? 这纯粹的易用性,我不知道是否有可能(即时通讯相当新的Linux),任何帮助或指针,将不胜感激。 提前致谢

从命令行使用短标签运行PHP

我有一个很多文件使用的框架 当我从框架中包含一个文件时,include不知道它是一个php文件,并把它作为一个简单的文本文件。 现在我在php.ini中的php定义是use_short_tags启用,当我浏览网站时,我也看到它,它的工作。 我的问题是如何使用框架文件,并让PHP知道使用短标签时,我从命令行运行我的脚本 谢谢