Questions tagged «shell-scripting»

由运行中的Shell执行的解释语言编程

7
我如何在bash或ksh中睡眠一毫秒
sleep是一个非常流行的命令,我们可以从1秒开始睡眠: # wait one second please sleep 1 但是如果我只需要等待0.1秒或等待0.1到1秒,该怎么办? 备注:在linux或OS X上sleep 0.XXX工作正常,但在solaris sleep 0.1或sleep 0.01-非法语法上


1
bash脚本中的Ctrl-C
如何在bash脚本中实现ctrl+ c处理,以使脚本以及该脚本当前运行的命令被中断? (想象一下,有一个脚本执行一些长时间运行的命令。用户按下ctrl+ c并中断该命令,但脚本继续执行。)我需要它的行为使其被杀死。

7
从Shell脚本运行ssh-agent
我正在尝试创建一个shell脚本,该脚本除其他外将启动ssh-agent并向该代理添加私钥。例: #!/bin/bash # ... ssh-agent $SHELL ssh-add /path/to/key # ... 这样做的问题是ssh-agent显然启动了$ SHELL的另一个实例(在我的情况下是bash),并且从脚本的角度来看,它已经执行了所有操作,并且ssh-add以及它下面的任何内容都永远不会运行。 如何从我的shell脚本运行ssh-agent并保持其在命令列表中的移动?

1
Shell命令使用管道时速度较慢,使用中间文件时速度较快
有没有人了解使用中间文件或使用管道时处理时间的巨大差异?我正在使用标准的工具在新鲜的debian squeeze服务器上将tiff转换为pdf。执行此操作的标准方法是先转换为ps。 不带管道: root@web5:~# time tiff2ps test.tif > test.ps real 0m0.860s user 0m0.744s sys 0m0.112s root@web5:~# time ps2pdf13 -sPAPERSIZE=a4 test.ps > test.pdf real 0m0.667s user 0m0.612s sys 0m0.060s 带管: root@web5:~# time tiff2ps test.tif | ps2pdf13 -sPAPERSIZE=a4 - > test.pdf real 1m6.098s user 0m15.861s sys 0m50.9 在最后一条命令期间,gs进程始终处于100%的状态。 更新: 这是ps生成的strace输出: root@web5:~# strace …

4
如何使用find命令删除与模式匹配的文件?
我正在尝试编写bash命令,该命令将删除所有与特定模式匹配的文件-在这种情况下,这是所有已建立的旧vmware日志文件。 我已经尝试过以下命令: find . -name vmware-*.log | xargs rm 但是,当我运行该命令时,它会阻塞名称中带有空格的所有文件夹。有没有一种格式化文件路径的方法,以便xargs将其传递给rm引用或正确转义?

2
如何只向特定脚本文件授予sudo权限?
我希望用户对特定目录下的几个Shell脚本(在我的情况下/usr/local/tomcat7/bin)具有sudo权限(无需密码检查),而在其他任何地方都没有。最简单的方法是什么? 像这样的东西/etc/sudoers似乎没有用: jsmith ALL=(ALL) NOPASSWD: /usr/local/tomcat7/bin

2
是否可以在openssl的s_client命令上设置超时?
我有一个脚本,该脚本使用openssl的s_client命令为大量主机提取证书。这些主机中的某些主机将不可避免地由于防火墙而无法访问。是否可以将s_client超时设置为比默认值短得多的时间?我在手册页/帮助文件中看不到任何内容。 该命令或某种包装器命令将在X秒后自动杀死openssl -s_client。 如果可能的话,我宁愿不对主机/端口进行可用性的预测试。

5
从rsync获取已传输文件的列表?
我当前正在使用rsync一个脚本,该脚本将PHP应用程序从登台部署到生产服务器。方法如下: rsync -rzai --progress --stats --ignore-times --checksum /tmp/app_export/ root@app.com:/var/www/html/app/ 当前正在输出正在比较的每个文件的列表(项目中的每个文件),但是我希望它仅输出已修改的文件,因此我可以运行一个--dry-run选项来检查每个部署是否仅更新所需的文件。 注意:到目前为止,我能做的最好的就是grep fcst结果,但是我正在寻找一个rsync可以确定的选项,但是我在手册页中找不到它。 提前致谢!

2
mysqldump是否返回状态?
我正在创建一个脚本,该脚本使用mysqldump实用程序备份mysql数据库。我正在外壳程序“ sh”中编写此脚本。我想在脚本中捕获mysqldump的输出状态(即mysqldump命令失败还是成功),以便我可以报告脚本是否成功。 mysqldump是否返回输出状态? 有人可以告诉我如何执行此操作吗?


5
Shell脚本可以等待文件更改并采取措施吗?
我想知道是否可以编写一个脚本来监视文件中的更改并在检测到更改时执行一些操作。 详细说明: OpenVPN每1分钟将其状态写入一个文件。 我需要解析此状态文件并采取措施。 OpenVPN在写入之前会截断状态文件。 我尝试写入命名管道,但是当应用程序无法截断管道时,我在应用程序中遇到了不想要的(但不是致命的)错误。


6
无需root密码即可连接到MySQL低谷命令行
我正在为某些任务构建Bash脚本。这些任务之一是从同一bash脚本中创建MySQL数据库。我现在正在做的是创建两个变量:一个用于存储用户名,另一个用于存储密码。这是我脚本的相关部分: MYSQL_USER=root MYSQL_PASS=mypass_goes_here touch /tmp/$PROY.sql && echo "CREATE DATABASE $DB_NAME;" > /tmp/script.sql mysql --user=$MYSQL_USER --password="$MYSQL_PASS" < /tmp/script.sql rm -rf /tmp/script.sql 但是总是会收到一条错误消息,提示使用root用户密码拒绝访问root用户,我在做什么错呢?我需要对PostgreSQL做同样的事情。

3
Powershell参数
我的脚本中有一个Param块 Param ( [Parameter(Mandatory=$True)] [string]$FileLocation, [Parameter(Mandatory=$True)] [string]$password = Read-Host "Type the password you would like to set all the users to" -assecurestring ) 我可以在必填的“参数”字段中使用“读取主机CmdLet”吗?如果不是,我该怎么做才能确保输入正确的变量类型,以便将其传递给用户创建过程?

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.