Articles of shell

Bash shell问题:运行简单的shell脚本时发生错误

test.sh: #!/bin/bash echo "helloworld" 我将文件模式设置为755.当我尝试通过input“./test.sh”运行脚本,我得到这个: helloworld ./test.sh: line 2: /root: is a directory 这是怎么回事???

区分目录名称或目录path

我有一个shell脚本,它需要一个目录名称或path到目录命令行,并创build该目录。 如果我想确定这个参数是一个有效的path还是只有一个目录名称,我该如何实现呢? 就好像一个目录名被传递一样,那么该目录将被创build在执行脚本的位置,如果它是一个path,那么该目录将被创build在该path上。 所以这个区别对我的脚本是必要的。 感谢致敬。

加快我的控制台设置

我在一个大型软件项目的不同部门工作。 对于每个分支,我有一个gnome-terminal,打开四个选项卡: 主shell在各个模块中执行生成命令(mvn) ./bin文件夹重新启动应用程序服务器 尾巴-F系统 tail -F另一个log4j-Logfile 这个设置在我工作的环境中工作的很好。 但要达到那个设置我需要 启动terminal cd到分支 打开另外三个选项卡 光盘来respecitve文件夹 发射尾巴 这非常烦人,花费时间太长。 我怎样才能加快速度? 我知道有更好的,也许脚本的工具(xterm,屏幕之类)

跟踪移动的shell脚本

我希望有人能帮助我。 在过去的一个月左右,我正在学习Bash …我有一个程序(一个简单的语言学习程序),我希望能够从一个脚本安装和运行。 我有一个脚本,将创build一个新的文件夹,并将其自身进入它。 目前我正在做的方式是在下面,虽然我以后使用的数组有问题。 我想知道是否有一个更清晰的方式获取文件名的新path。 任何帮助或见解将不胜感激。 #!/bin/bash echo "# path to me —————> ${0} " echo "# parent path ————–> ${0%/*} " echo "# my name ——————> ${0##*/} " if [[ ! -d ${0%/*}/SomeNewFolder ]] && [[ ! -d ${0%/*}/../SomeNewFolder ]] then mkdir ${0%/*}/SomeNewFolder mv ${0} ${0%/*}/SomeNewFolder/${0##*/} fi echo ${0%/*} newpath=$(echo "${0%/*}/SomeNewFolder") echo $newpath […]

对话框 – select选项

我的脚本是: dialog –title 'Example' –menu 'Select:' 0 0 0 1 'ABC' 2 'DEF' 3 'GHI' 我希望选项2被默认选中(over)。 这是可能的?

gdbpipe道redirect错误:(gdb)在fd 0上检测到挂起

帮助,我该如何解决这个问题? 我无法将命令从stdinredirect到gdb。 我得到这个错误: charmae@charmae-pc:~/workspace/AVT$ echo "list" | gdb a.out GNU gdb (Ubuntu/Linaro 7.3-0ubuntu2) 7.3-2011.08 Copyright (C) 2011 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" […]

将子文件夹重命名为父文件夹,删除“额外”文件夹

得到这个问题时,我搞砸了一个rsync,忘了添加一个尾部的斜线。 所以现在我有一个额外的文件夹。 当前foldertree /Volumes/hd/images1/images1/ /Volumes/hd/images2/images2/ /Volumes/hd/images3/images3/ 我想得到这个 /Volumes/hd/images1/ /Volumes/hd/images2/ /Volumes/hd/images3/ 有没有办法摆脱多余的文件夹来得到我想要的,我试图 mv /Volumes/hd/images1/images1/ /Volumes/hd/images1/ 但有一个错误说,他们是相同的,我也尝试了一些基本的PHP脚本来为我做这项工作,没有任何运气。 我无法删除或真正复制文件夹的内容,因为它的海量数据,我可以通过更改父文件夹的名称手动执行,然后将子文件夹拖到/ hd,然后删除旧的父。 但是,它的很多工作,所以如果有人知道如何做到这一点,我会非常高兴。 我使用Mac OS X,如果它的任何利益

捕获和显示exec / shell_exec周期性输出?

你可以很容易地使用exec()或者shell_exec()来执行系统命令,比如ls -l /var/www/mysite ,然后输出命令的结果。 如何执行并显示定期将信息输出到控制台的命令的结果? 例子:你有一个简单的Python脚本。 如果您从控制台运行脚本,则会每10秒钟一次将控制台的某些信息打印出来,直到您强制退出脚本。 如何可以使用PHP来执行这个python命令,并以某种方式实时捕获和stream输出到浏览器? 是这样的可能吗? 我想这里面会涉及某种Ajax,但我不确定。 我试着做这样的事情: python myscript.py > output.txt 然后,我打算使用Ajax来周期性地tail或输出output.txt的内容并在浏览器中显示。 但是,在脚本强制退出之前, output.txt似乎没有添加任何内容。

Linux Shell脚本提取发送邮件的数据并将邮件发送回pipe理员

以下是日志文件的摘录: Jan 18 02:30:11 qaapp2 sendmail [3126]:q0I7UBoS00312:to =,ctladdr =(10021/10000),delay = 00:00:00,xdelay = 00:00:00,mailer = esmtp,pri = 120448,中继= buf-ex02.cymfony.com。 [10.1.6.37],dsn = 2.0.0,stat =已发送(<201201180730.q0I7UBVW00312@qaapp2.cymfony.com>排队等待发送的邮件) Jan 18 02:31:11 qaapp2 sendmail [3510]:q0I7VBOx00350:to =,ctladdr =(10021/10000),delay = 00:00:00,xdelay = 00:00:00,mailer = esmtp,pri = 120453,中继= buf-ex02.cymfony.com。 [10.1.6.37],dsn = 2.0.0,stat =发送(<201201180731.q0I7VBei00350@qaapp2.cymfony.com>排队等待发送的邮件) Jan 18 06:43:44 qaapp2 sendmail [442]:q0IBhisf00044:to =,ctladdr =(0/0),delay = 00:00:00,xdelay = 00:00:00,mailer […]

Shell脚本使用CSV中的文件名列表将文件从一个目录复制到另一个目录

我有我需要复制的文件列表。 我想recursionsearch一个驱动器,并将这些文件复制到设置的位置,如果该文件名存在于列表中。 该列表是一个文本文件/ 该文本文件看起来像这样: A/ART-FHKFX1.jpg B/BIG-085M.jpg B/BIG-085XL.jpg L/LL-CJFK.jpg N/NRT-56808EA.jpg P/PFE-25.10.jpg P/PFE-7/60.jpg P/PFE-7L.20.jpg P/PFE-8.25.jpg P/PFE-9.15.jpg P/PFE-D11.1.tiff P/PFE-D11.1.tiff P/PFE-D12.2.tiff P/PFE-D12.2.tiff