Articles of bash

Linux bash Timer

好的,这里是愚蠢的新手问题。 我以为我正在倒数计时器。 这应该从5倒计数,一旦在0,然后执行回声“时间到了小丑”,然后结束。 我在这里做错了什么? seconds=5 date1=$((`date +%s` + $seconds)); while [ "$date1" -ne `date +%s` ]; do if (!$date1 -lt ((`date +%s` + $seconds)+1)); then echo "time is up clown"; break; fi; echo -ne "$(date -u –date @$(($date1 – `date +%s` )) +%H:%M:%S)\r"; done

试图删除子目录中除最近2个文件以外的所有文件

我创build了一个cron,它清除除最近两个文件以外的指定文件夹的子目录(仅限第一个子文件),但遇到问题。 这些是我的尝试: find ./ -type d -exec rm -f $(ls -1t ./ | tail -n +4); find . -maxdepth 2 -type f -printf '%T@ %p\0' | sort -r -z -n | awk 'BEGIN { RS="\0"; ORS="\0"; FS="" } NR > 5 { sub("^[0-9]*(.[0-9]*)? ", ""); print }' | xargs -0 rm -f 我也尝试创build一个文件的数组,目的是通过总减2,但数组并没有填充所有文件: while read […]

如何将string推送到stdin? 在启动时通过stdin提供input,然后交互地读取stdininput

调用它时,有没有办法将一个string“推”到程序的标准inputstream? 所以我们会有效果的 echo "something" | ./my_program 但不是在"something"之后读取EOF, my_program会从原始标准input(例如键盘)读取其进一步的input。 例如:假设我们想要启动一个bash shell,但是我们想要做的第一件事就是调用date 。 echo date | bash echo date | bash不会做这个工作,因为shell会在运行date之后终止。

显示来自bash脚本的图像通知

我想要完成的是:在Ubuntu 10.04上,我想在屏幕的angular落显示一个小的通知图像,并使图像淡出。 我想从命令行使用bash脚本。 类似于“通知发送”,“zenity”或“对话”,除了它也显示图像。 到目前为止,我发现:ImageMagickanimation似乎是唯一的命令行工具,可以显示图像并退出,无需用户交互。 有什么更好的吗? 我可以自己写一个,但我认为应该已经有这样的事情了。

使用Shell脚本自动安装R-Studio

有什么办法可以在Linux系统上自动安装R-Studio? 它应该自动检测操作系统,并安装具有所需依赖项的R和R-Studio。 谢谢..

如何在bash脚本中模拟两个连续的ENTER键的命令?

[编辑]它可以被认为是对[这个问题] [1]的扩展。 echo | command echo | command以上命令可用于向命令的第一个input请求提供一个“ENTER”字符。 如何在第二个input请求中提供下一个“回车”字符到同一命令。 如果需要其他细节,请发表评论。 我给出了具体的例子,我想实现。 我需要在shell脚本中运行SSH-keyGen 。 它会要求以下input: input目标文件名称 input密码短语 再次input密码短语 我们如何将这三个input传递给命令? 我试过了, echo -ne "\n \n"| ssh-keygen //which is passing two new lines for the first input request only. 和echo -ne "\n"|(echo -ne "\n"|ssh-keygen)// but still no positive result 注意:为避免上述两个命令中的input文件名请求,只是为了简单起见

使用命令的输出作为下一个命令的input

所以我从命令行调用这个PHP脚本: /usr/bin/php /var/www/bims/index.php "projects/output" 其输出是: file1 file2 file3 我想要做的是得到这个输出,并馈送到“rm”命令,但我认为我没有做正确的: /usr/bin/php /var/www/bims/index.php "projects/output" | rm 我的目标是删除PHP脚本输出的任何文件名。 什么应该是正确的方法来做到这一点? 谢谢!

通过Bash ShellScripting从url列表中提取父域名

我有一个这样的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/unsubscribe.php?M=722&C=8410431be55bf12faac13d18982d71cd&L=1&N=2 http://arm.smilecire.com/ch+urch38146263923bpa.stor/imp-roved258021029his+health212149011 http://hurl.zonalrems.com/ge.tyo-ur584372780599hea+lth247408058un/der+control21211901 http://harp.doomyjupe.com/see.this-better/life+58291551346csexdrive663295668+better/how.981692016 http://beefy.toneyvaws.com/no+tice/how/35306640b+see/app=5429204last/attempt=457943182 http://kirk.yournjuju.com/shop/sam.sclub-win=ter/58387369768esame+673844946.bett.er-loo.k981686408 http://idly.theirpoem.com/veri-fy/notice-7853508818b2glob/al=who.43639603inc.lusion-610549278 http://wva188.suleacatan.com/credit-score/review/-551694841511001sfdghsfdgsdfg63887839 http://cop.forterins.com/app.lyto=face962540097dtolo+oko.ung268570307yo.un-ger8752507 http://vni116.gaelsyaray.com/qertqetert//-dghjghjghd5531864856415612229498430 http://ticket.prategama.com/shop/sam.sclub-win=ter/752490935same+226373195.bett.er-loo.k212801 http://cbu125.quetxviii.com/cvbnvbn7551116db537203–swrtytry664896546 http://c5a.dicadodia.com.br/pass4sp09/NetAffProTeste-1.html http://snub.woadsbevy.com/ama/zing-753773417oppe-tun/ity+217801.is-here/now=236922473 http://mkt.livrariacultura.com.br/pub/cc?_ri_=X0Gzc2X%3DWQpglLjHJlYQGgzfB7tPi0PuyyJ71ES 我想只提取父母的域名,例如: 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=8410431be55bf12faac13d18 成 zrobimystrone.pl visionwebmkt.com meguiatramandai.com.br 我努力了 awk '{gsub("http://|/.*","")}1' list.txt 并得到以下结果: noto.zrobimystrone.pl visionwebmkt.com www.meguiatramandai.com.br www.contatoruy.in www.maxxivrimoveis.com.br www.meguiatramandai.com.br arm.smilecire.com hurl.zonalrems.com harp.doomyjupe.com beefy.toneyvaws.com 但不知道如何从noto.zrobimystrone.pl只得到父母的名字。

用netpipes / netcat绑定端口

我正在尝试编写一个简单的bash脚本,它正在端口上侦听,并用一个简单的HTTP响应进行响应。 我的具体问题是,我不知道端口是否可用,并在绑定失败的情况下,我回落到下一个端口,直到绑定成功。 到目前为止,实现这个目标的最简单的方法是这样的: for (( i=$PORT_BASE; i < $(($PORT_BASE+$PORT_RANGE)); i++ )) do if [ $DEBUG -eq 1 ] ; then echo trying to bind on $i fi /usr/bin/faucet $i –out –daemon echo test 2>/dev/null if [ $? -eq 0 ] ; then #success? port=$i if [ $DEBUG -eq 1 ] ; then echo "bound on […]

执行linux命令的java

我试图从Java代码执行linux的命令'猫',但它不工作。 Runtime.getRuntime().exec("cat /home/roman/logs/*"); 并且它适合单个文件的猫 Runtime.getRuntime().exec("cat /home/roman/logs/mylog.log"); 我的问题是如何从java的一些目录上捕获所有的文件?