Questions tagged «scripting»

脚本是由解释程序执行而不是编译为独立可执行程序的命令或指令序列。

4
如何在shell脚本中实现logrotate
test.sh #!/bin/bash echo "Hello World" test2.sh #!/bin/bash while true do sh test.sh >> /script_logs/test.log & done 我想实现logrotate来控制日志文件的大小,如果情况如上所示,该如何实现logrotate?


3
您如何在内部使用命令继续句子
例如,我一直试图在我的脚本文件中说“目前有10个人在线”。 如果没有下一行的“当前在线人员”部分,我似乎永远无法使命令正常工作。 此刻,我有 w='who | wc -l' echo "There are $w people online at the moment" 但是,我总是以输出结束 There are who | wc -l users online at the moment 您如何在中间使用命令?我一直在尝试查找和复制示例,但这似乎无济于事我的命令替换问题。
12 bash  scripting 

3
Shell脚本等待后台命令
我正在编写脚本,但是我需要一些我找不到解决方法... 我需要在后台“ command1&”中创建命令,然后在脚本中的某个地方等待命令完成之前再执行command2。基本上,我需要这样: 注意:每个命令都在特定目录中运行!在while循环结束时,我的command1创建了4个目录,其中每个目录都运行特定的进程,因此正在运行的进程总数为4 a=1 while [$a -lt 4 ] . command1 #Generates 1 Process a= `export $a +1` done #Wait until the 4 process end and then run the command2 . command2 我已经看到了有关wait带有pid进程号的命令的一些信息,但这也没有用。

5
BASH中两个数组的交集
我有两个这样的数组: A=(vol-175a3b54 vol-382c477b vol-8c027acf vol-93d6fed0 vol-71600106 vol-79f7970e vol-e3d6a894 vol-d9d6a8ae vol-8dbbc2fa vol-98c2bbef vol-ae7ed9e3 vol-5540e618 vol-9e3bbed3 vol-993bbed4 vol-a83bbee5 vol-ff52deb2) B=(vol-175a3b54 vol-e38d0c94 vol-2a19386a vol-b846c5cf vol-98c2bbef vol-7320102b vol-8f6226cc vol-27991850 vol-71600106 vol-615e1222) 数组未排序,甚至可能包含重复的元素。 我想使这两个数组相交并将元素存储在另一个数组中。我该怎么办? 另外,我如何获得出现在B中但在A中不可用的元素的列表?
12 bash  scripting  array 

5
每隔一周通过cron运行脚本
我已经就如何做到这一点进行了大量研究,而且我发现cron并没有直接的方式来工作,例如隔周四。 现在,我倾向于制作一个仅每周运行一次的脚本,该脚本在运行时会触摸一个“标志”文件,如果运行并且文件已经存在,则删除该文件(而不执行每两周一次)。 我的问题是,还有其他更优雅或更简单的方法来实现bash脚本每隔一周自动运行一次的目标吗? 谢谢!
12 bash  scripting  cron 

4
grep —删除定界符标记后的文本
我有一个文件,需要删除;每行第一行之后的所有内容。 所以这样的文件: sdfsdsdf; fsdfsddf;sdfsd; 将导致以下结果: sdfsdsdf fsdfsddf 我调查了grep和sed。我将不胜感激地结合了这两个命令中的任何一个。

7
学习shell脚本的实际任务
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Unix&Linux Stack Exchange 的主题。 10个月前关闭。 我正在寻找unix系统管理中的一些常见问题以及shell脚本可以解决这些问题的方法。完全出于自学目的。我也想知道您将如何学习shell脚本。

3
如何使管道等待文件结束或出现错误后停止?
在观看有关管道恶作剧的视频后,我尝试了以下命令。 man -k . | dmenu -l 20 | awk '{print $1}' | xargs -r man -Tpdf | zathura - 它基本上将要打印的手册页列表打印出来,供用户选择其中之一,然后使用xargs运行man -Tpdf %(打印以从xargs的输入中输出手册页git的pdf),然后将pdf传递给pdf阅读器(zathura )。 问题在于(如您在视频中看到的),即使在dmenu中选择一个联机帮助页之前,pdf阅读器也会启动。而且,如果我单击Esc并没有选择任何内容,则pdf阅读器仍处于打开状态,根本没有显示任何文档。 如何使pdf阅读器(以及管道链中的任何其他命令)仅在其输入到达文件末尾或完全收到输入时才运行?或者,或者,在链接的命令之一返回非零退出状态之后,如何使管道链停止(这样,如果dmenu返回未选择选项的错误,则不会运行以下命令)?

2
以编程方式更改密码
在当前版本的Raspian中,我知道可以从命令行更改当前登录用户的密码,如下所示: sudo passwd 然后会提示用户两次输入新密码。这将产生如下输出: Changing password for pi. (current) UNIX password: Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully 我想知道是否有可能以编程方式更改密码,例如从Shell脚本更改密码。 我正在尝试制作一个配置脚本以部署在我的Raspberry Pis上,并且我不想手动为其输入新密码。

5
使用$?在if语句中
function foo { (cd $FOOBAR; <some command> if [$? -ne 0] then echo "Nope!" else echo "OK!" fi ) } 我正在尝试编写类似上面的函数,并将其放在我的.bashrc文件中。在获取文件并运行后,我得到: 总时间:51秒-重 击:[1:找不到命令 ! 有人可以帮助我了解我做错了什么吗?
12 bash  scripting 

3
如何通过“ tab complete”显示管道显示的命令列表?
在bash中使用命令时,我喜欢double选项卡选项以显示可用命令。一些命令比其他命令具有更多可能的匹配项: 选项卡补全的屏幕快照http://img13.imageshack.us/img13/5541/picturemhy.jpg 有没有办法将double选项卡的输出通过管道传递到somwehere,例如grep?我找到了相关的帖子,但是我仍然不确定如何实现将其通过管道传递到grep。


2
蠕动删除6个月以上的文件
每月设置一次cron作业以启动脚本。 脚本是每个月过大时轮换一个文件,然后重命名旧文件。当文件超过六个月时,我希望将其删除。 希望每月运行一次此脚本。可以删除旧的吗? 如果还不够清楚,请告诉我。
12 scripting  ksh 

6
如何从半随机字符串中提取/解析完整的URL?
我想让bash从随机短字符串中解析/提取完整的URL(仅URL)。 例子: bob, the address is http://www.google.com 要么 https://foo.com/category/example.html is up 要么 Error 123 occurred at http://bit.ly/~1223456677878 要么 Stats are up: https://foo1234.net/report.jpg 我尝试使用,cat foo_output | egrep -o "https?://[\w'-\.]*\s"但是似乎没有用。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.