【检查linux网络状态的两个脚本】教程文章相关的互联网学习教程文章

linux – 在crontab中运行脚本 – 找不到reboot:command【代码】

我在我的root crontab中设置了一个脚本,该脚本应该使用reboot命令重启我的机器. 但是,我正在重新启动:尽管重新启动是在root用户的路径中,但找不到命令.$sudo su $which reboot /sbin/reboot $echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/go/bin我的剧本:#!/bin/bashping 8.8.8.8 -c 1 > /dev/null 2>&1; exit_code=$? time_stamp=$(date +"%Y%m%d-%H%M")if [ $exit_code -ne 0 ]; then...

如何在Linux上运行的Python脚本调用在Wine下运行的Python脚本中的例程?【代码】

我有一个在Linux上运行的Python(3)脚本,称为主脚本,它必须从专有DLL调用例程.到目前为止,我已使用以下构造使用Wine解决了这个问题:# Main script running on Linux import subprocess # [...] subprocess.Popen('echo "python dll_call.py %s" | wine cmd &' % options, shell = True) # [...]脚本dll_call.py由安装在Wine下的Windows Python(3)解释器执行.它将返回值转储到一个文件中,然后由等待的主脚本拾取.如果我必须连续几次...

linux – 扩展脚本以循环遍历多个文件并生成输出名称【代码】

我有以下脚本(名为vid2gif.sh)将视频文件转换为gif:#! /bin/bash ffmpeg -i $1 /tmp/gif/out%04d.gif gifsicle --delay=10 --loop /tmp/gif/*.gif > $2我可以使用命令转换文件:vid2gif.sh myvid.mp4 myvid.gif如何让它转换文件夹中的所有mp4文件?也就是说,如何进行以下命令工作:vid2gif.sh *.mp4脚本应该输出文件* .gif.谢谢你的帮助.解决方法: #!/bin/sh for f; dotempdir=$(mktemp -t -d gifdir.XXXXXX)ffmpeg -i "$f" "$tem...

linux – 是否有可能使bash shell脚本与另一个命令行程序交互?【代码】

我在运行bash shell的Linux终端中使用交互式命令行程序.我有一个确定的命令序列,我输入到shell程序.程序将其输出写入标准输出.其中一个命令是’save’命令,它将上一个运行的命令的输出写入文件到磁盘. 典型的周期是:$prog $$cmdx $$<some output> $$save <filename> $$cmdy $$<again, some output> $$save <filename> $$q $<back to bash shell>> $是bash提示符> $$是程序的提示> q是prog的退出命令> prog是这样的,它将前一个命令...

linux – 脚本中ps aux和`ps aux`之间的结果不同【代码】

我有一个bash脚本(ScreamDaemon.sh),其中添加了一个检查,它的示例尚未运行.numscr=`ps aux | grep ScreamDaemon.sh | wc -l`; if [ "${numscr}" -gt "2" ]; thenecho "an instance of ScreamDaemon still running";exit 0; fi通常,如果没有另一个脚本副本运行,ps aux | grep ScreamDaemon.sh | wc -l应该返回2(它应该找到自己和grep ScreamDaemon.sh),但它返回3. 所以,我尝试分析发生了什么,并在添加一些回声之后看到: 我已经在脚...

linux – 是否可以使用wget从网页下载PHP脚本?

如果我尝试wget< url>它下载已解析的页面.但我想下载原始脚本.这可能吗?解决方法:不,谢天谢地.服务器完全控制它如何响应您的HTTP请求. 严格来说,你无法分辨它是否是首先在电汇另一端的PHP.

linux – 解析shell脚本参数【代码】

$myscript.sh -host blah -user blah -pass blah我想把参数传递给它. 我习惯做1美元,2美元,3美元….但我想开始命名它们解决方法:sh中有很多方法可以解析参数. Getopt很好.这是一个简单的脚本,可以手动解析:#!/bin/sh # WARNING: see discussion and caveats below # this is extremely fragile and insecurewhile echo $1 | grep -q ^-; do# Evaluating a user entered string!# Red flags!!! Don't do thiseval $( echo $1 | se...

【Linux】shell脚本参数传递【代码】

这里介绍参数传递的两种方式。 方式一:$0,$1,$2... 采用$0,$1,$2..等方式获取脚本命令行传入的参数 $0:脚本名称 $1....: 参数 例子:#编写一个shell $ vim test.shecho "参数0参数为:"$0echo "参数1参数为:"$1echo "参数2参数为:"$2#执行shell传递两个参数 $ bash test.sh 我是参数1 我是参数2参数0参数为:test.sh参数1参数为:我是参数1参数2参数为:我是参数2方式二:getopts getopts引用的三个环境变量:OPTARG: 上一个由...

如何将PyQt脚本(.py)编译为Windows(.exe)和/或linux的单个独立可执行文件?【代码】

我开始摆弄PyQt,并从pyqt白皮书示例应用程序(pastebin)制作了一个“漂亮”的脚本 它在Windows和Linux中完美运行(两者都安装了qt环境). 现在我的问题是:因为我正在尝试使用Qt,因为它是编译的(至少是纯旧的基于C的Qt),我如何编译一些.exe文件在Windows上运行它,或者用于Linux的独立可执行文件. 关键是我希望编译程序,因为速度和可移植性,而不是从源解释,这需要在任何机器上进行先前的设置.例如,其中一个目标是通过电子邮件将小gui脚...

在Linux脚本中隐藏终端上的用户输入【代码】

我有像下面这样的bash脚本:#!/bin/bashecho "Please enter your username"; read username;echo "Please enter your password"; read password;我希望当用户在终端上输入密码时,不应该显示密码(或者应该显示*******).我该如何实现这一目标?解决方法:只需为你的阅读电话提供-s:$read -s PASSWORD $echo $PASSWORD

linux – shell脚本中的错误?【代码】

我正在尝试shell脚本中的代码.当我试图将代码从批处理脚本转换为shell脚本时,我收到一个错误. 批量文件代码:: Create a file with all latest snapshots FOR /F "tokens=5" %%a in (' ec2-describe-snapshots ^|find "SNAPSHOT" ^|sort /+64') do set "var=%%a" set "latestdate=%var:~0,10%" call ec2-describe-snapshots |find "SNAPSHOT"|sort /+64 |find "%latestdate%">"%EC2_HOME%\Working\SnapshotsLatest_%date-today%.t...

linux – 使用Bash脚本将输入提供给命令行【代码】

所以我试图创建一个调用这个命令的bash脚本,然后将其输入.它调用这一个命令,命令后需要3-4个输入.我键入命令,它等待我输入名字,一个我输入名字等待我输入姓氏,依此类推.如何使用bash脚本一次将这些参数传递给命令?解决方法:有两种方法. 将所有echo命令分组并将它们传递给命令:{ echo $firstname; echo $lastname ; } | somecommand或使用heredoc:somecommand <<EOF $firstname $lastname EOF

linux – Shell脚本,将命令值保存到变量中【代码】

我试图在同一行打印VARI的值后跟一个逗号,这样我就可以拥有这些值的csv文件,但我无法保存值 VARI =’cat filename |头-1 | cut -d,-f ${i}’i=0 while (( i<130)) ; doif [[ $i -eq 1 || $i -eq 9 || $i -eq 12 || $i -eq 23 || $i -eq 25 || $i -eq 29 ]]thenVARI = 'cat filename | head -1 | cut -d, -f${i}'echo "$VARI ," filet i=$i+1; done输出预期是4,abc,5,8,xyz,9请让我知道我做错了什么,谢谢!解决方法:使用反引号(...

linux – 如何在使用锁文件时避免竞争条件以避免脚本的两个实例同时运行?【代码】

避免同时运行同一脚本的两个实例的典型方法如下所示:[ -f ".lock" ] && exit 1 touch .lock # do something rm .lock有没有更好的方法从shell脚本锁定文件,避免竞争条件?必须使用目录吗?解决方法:是的,示例脚本确实存在竞争条件.你可以使用bash的noclobber选项,以便在比赛的情况下失败,当不同的脚本在-f测试和触摸之间潜入时. 以下是一个示例代码片段(灵感来自this article),它说明了该机制:if (set -o noclobber; echo "$$" >...

linux – 如何创建配置脚本?【代码】

这可能听起来像一个非常通用的问题,但在这里. 我需要为我的应用程序创建配置脚本,此配置的结果将是生成的makefile(基本configure,make,make install).我的问题是,我从哪里开始构建这个?我可以效仿一个例子吗?解决方法:要创建标准的“configure”脚本,您需要GNU autoconf.您可能也需要GNU automake和libtool. 有大量的文档和howtos.谷歌的“autoconf automake howto”之类的东西.好的文档在官方手册页面中: > Autoconf:http://w...