Questions tagged «scripting»

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

1
使用“邮件”从命令行读取电子邮件
我知道我们可以mail在终端中使用命令mail以交互方式开始使用该程序。 但是,我想mail非交互式地使用命令阅读电子邮件。 有没有这样的命令 $ mail -optionToReadMail -mailNumber 1; 哪个将在stdout中显示电子邮件的内容?
11 bash  scripting  mailx 

2
多行命令:注释掉一行
我喜欢在脚本中使用以下格式来编写带有很多参数的命令(以提高可读性): docker run \ --rm \ -u root \ -p 8080:8080 \ -v jenkins-data:/var/jenkins_home \ -v /var/run/docker.sock:/var/run/docker.sock \ -v "$HOME":/home \ jenkinsci/blueocean 但是,有时我想将这些参数之一注释掉: # -p 8080:8080 这不起作用,因为EOL被解释为return并且命令失败。也尝试过这个: \ # -p 8080:8080 这也没有用。 问题:有没有办法注释掉参数,所以它仍然在自己的行上,但是我能够执行脚本?

1
将SIGINT或SIGTERM发送给父脚本本身而不是子进程时执行命令或函数
假设我有这个 script.sh #!/bin/bash exit_script() { echo "Printing something special!" echo "Maybe executing other commands!" kill -- -$$ # Sends SIGTERM to child/sub processes } echo "Some other text" #other commands here sleep infinity 我想script.sh执行的功能exit_script时,它接收SIGINT或SIGTERM 例如: killall script.sh # it will send SIGTERM to my script 我希望我的脚本执行此操作 exit_script() { echo "Printing …


3
如何在bash脚本中为unicode grep
if grep -q "�" out.txt then echo "working" else cat out.txt fi 基本上,如果文件“ out.txt”在文件中的任何位置都包含“ ...”,我希望它回显“工作”,并且如果文件“ out.txt”在文件中的任何位置均不包含“。”,那么我想它来猫out.txt 编辑:所以这就是我在做什么。我试图蛮力的openssl解密。 openssl enc成功返回0,否则返回非零。注意:您会得到误报,因为AES / CBC只能根据正确的填充来确定“解密是否有效”。因此,该文件将解密,但它不是正确的密码,因此其中会出现乱码。乱码中的常见字符是“。”。因此,如果输出包含“ ...”,我希望do循环继续进行。 这是我的git链接https://github.com/Raphaeangelo/OpenSSLCracker 这是脚本 while read line do openssl aes-256-cbc -d -a -in $1 -pass pass:$line -out out.txt 2>out.txt >/dev/null && printf "==================================================\n" if grep -q "�" out.txt then : …

2
用其协同进程/子进程替换当前进程
我有一个程序P,期望接收“你好”并输出“为什么?” 在提供功能之前。其他不知道通常与“ Hello”开始对话的程序使用此功能。因此,我想为此编写一个包装器P(zsh语法): coproc P print -p Hello # Send Hello to P read -pr line # Read what P has to say [[ "$line" = "Why?" ]] && Replace current process with the coprocess. echo Could not get P's attention. 在部分中使用cat或会导致不必要的缓冲。我有什么选择?ddReplace...cat <&p &; exec cat >&p
10 shell  scripting  process  zsh 

7
我怎样才能使脚本数到五?
我试图制作一个非常简单的bash脚本,以列出375和3500之间的所有5的倍数(375、380、385 ...)。我尝试但没有起作用的一件事是: for i in {375..3500} do echo $i (($i += 5)) done 一段时间后,我放弃了,并在15秒钟内用BASIC编写了此代码: 10 count = 375 20 print count 30 count = count+5 40 if count < 3500 then goto 20 如何在bash脚本中制作BASIC程序?
10 bash  shell  scripting 

5
将bash中的定界文本文件解析为命令参数
我有一个文本文件,像这样拆分: field1,field2,field3 xield1,xield2,xield3 dield1,dield2,dield3 gield1,gield2,gield3 这些列中的每一列都是程序的参数,我希望每行都调用该程序 我希望循环,就像: for $i in file command $field2 -x $field3 -PN -$field1 >> output done 在bash中完成这样的事情的最佳方法是什么?



4
如何限制程序在Linux中运行的时间?
我有几个模拟要做,每个模拟都用调用python simulate.py <parameter list>。这些模拟的问题在于其中一些模拟挂起而没有退出,这阻止了我使用简单的脚本批量运行它们。 我需要的是某种形式的“运行时约束”命令,该命令将在指定时间后自动终止进程(最好通过虚拟按下Ctrl + C,但我认为简单的终止也可以)。该过程本身并没有优雅地结束。 当然,我可以写这样的剧本,不过我怀疑有人已经做到了我面前,所以我不必重新发明轮子花小时ps,time和bash手册。

4
Shell脚本中的混合代码。共享变量
该答案讨论了如何从终端中的命令行运行多行Python代码段。我注意到,即使在嵌套缩进的情况下,答案在shell脚本中也非常有效,例如, #!/bin/bash some_text="Hello world" echo $some_text cat <<EOF | python - import sys; for r in range(3): print r for a in range(2): print "hello" EOF 印刷品: 0 hello hello 1 hello hello 2 hello hello 但是,我很难在Shell脚本和Python代码段之间共享变量。 如何在bash脚本中收集python下标的输出?(例如,在变量中$output)。 如何将bash变量(例如$some_text)传递给Python脚本?
10 bash  scripting  zsh  python 

5
如何只为bash脚本着色一些关键字?
我正在运行一些单元测试代码。单元测试代码输出常规文本。文本很多,因此我想为用户突出显示重要的关键字。 在这种情况下,关键字为“通过”和“失败”。 您如何将“通过”着色为绿色,将“失败”着色为红色?


2
在zsh中列出带有空格的元素
在这一点上,我已经学习了2个小时的所有zsh脚本,并且碰壁了。我想查看其中可能包含空格的文件列表。我愿意接受与以下示例完全不同的方法,只要它们是zsh,因为zsh是我正在研究的内容,而不是我要编写的任务。 files=(`ls`) for f in $files; do print $f done 我显然不只是在重新创建ls,我只是想$f在循环的每次迭代中捕获整个文件名。
10 shell  scripting  zsh 

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.