Articles of shell

Bourne壳牌arrays

我正在寻找编写一个bourne shell,它通过一系列主机循环,并为每个主机执行一个rsync。 就像是: HOSTS=("host1.domain.com", "host2.domain.com") for HOST in $HOSTS do HOST_DIR_NAME = ${HOST//./-} rsync backup_user@$HOST:/backup/blah/blah /backup/$HOST_DIR_NAME/blah/blah done 但问题是,上面的数组看起来不像预期的那样工作,因为在循环数组时,我看到以下输出: wwcprod.plyinc.com, 我发现每一个在线指南说,我正确定义arrays,但显然不工作。 帮帮我! 谢谢!

如何在bash中以更简洁的方式连接环境variablespath?

为了修改我的path(如LD_LIBRARY_PATH或PYTHONPATH),我首先检查是否存在variables。 如果是这样,我把我的旧价值连接到新的(用分号分隔),否则我把我的variables设置为新的值。 NEW_PATH='/path/to/new/path' if [ $LD_LIBRARY_PATH ] then export LD_LIBRARY_PATH=$NEW_PATH:$LD_LIBRARY_PATH else export LD_LIBRARY_PATH=$NEW_PATH fi 它可以工作,但是当你在脚本中有很多这样的代码来源时,它有点笨拙:是否有一个聪明的技巧来使这个块成为一个很好的单线程? 谢谢 !

Shell脚本不能用于cron

我在/usr/local/1.sh有这个shell脚本: #!/bin/sh wget -r -np –user=peter –password='123' ftp://67.225.87.95/ -p /test/ 如果我运行它使用 # sh 1.sh 该脚本执行正常,做它应该做的事情。 但是,如果我创build一个cron作业来执行完全相同的脚本: 1 2 * * * /usr/local/bin/1.sh 该脚本根本不被执行。 什么可能是错的?

Debianterminalcaching可执行文件path?

看来,Debian 6.0.2.1terminalcaching可执行文件的path,这是避免新的可执行文件在同一个terminal上运行。 我想知道如果这是一个function,如果是这样,如何改变它。 这是我尝试的一个示例场景。 系统预装了python 2.6.6。 我打开了一个新的terminal,运行“python”。 现在,我下载了python 2.7.2,做了安装。 我validation了安装是成功的,PATH在/ usr / bin(其中python 2.6.6驻留)之前有/ usr / local / bin。 现在,当我运行“python”时,它总是执行python 2.6.6。 示例屏幕截图: $ echo $PATH /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games $ python Python 2.6.6 (r266:84292, Dec 26 2010, 22:31:48) [GCC 4.4.5] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> $ which python /usr/local/bin/python $ `which […]

用户使用SSHlogin时运行Python程序

我想有一个命令行程序,我在Python中自动运行,当某个用户使用SSHlogin到我的服务器上。 但用户不能逃脱程序或运行任何其他命令。 该程序允许用户查看某些服务器信息并向pipe理员发送消息。 你能想到无论如何,我可以在Ubuntu的OpenSSH服务器做到这一点? 谢谢,戴夫。

在启动时自动执行shell脚本(Ubuntu)

有没有像/etc/cron.d/这样的文件夹,所以当我把一个脚本放在这个文件夹中时,它会在启动的时候自动执行?

如何使用shell脚本获取两个string之间的行?

如何使用shell脚本获取两个string之间的行? 例如,我有一个名为file_text.txt的文件,如下所示。 MEDIUMINT CREATE ( MAXVALUE MEDIUMBLOB MEDIUMINT MEDIUMTEXT MIDDLEINT ); MINUTE_SECOND MINUTE_SECOND CREATE ( MINUTE_MICROSECOND MINUTE_SECOND MOD ); MODIFIES MEDIUMINT CREATE ( NATURAL NOT NO_WRITE_TO_BINLOG NULL ); NUMERIC ON OPTIMIZE 我想grep之间的CREATE和; 从文件中。 包括CREATE和;string。

shell脚本+从日志文件中匹配MAJOR和CRITICALstring

我需要匹配具有MAJOR和CRITICALstring的行 在ERROR:<any integer number>之后 请build议如何使用awk或sed命令做到这一点? more HW_Log.txt CHK_HW ERROR:0 INFO self_monitor Verifying HW machine CHK_HW ERROR:1 MAJOR self_monitor Verifying HW machine CHK_HW ERROR:1 CRITICAL self_monitor Verifying HW machine

使一台电脑bash提示匹配

正在提示的计算机正在尝试复制: [root@CompanyName-LAMP-DEV:/current/path]$ 我们会打电话给那台电脑A. 提示我的电脑 – 电脑B – 目前有: [root@ip-xxxx /current/path]# 两者都使用bash。 我从计算机A复制/etc/bashrc文件到计算机B,无济于事。 如果我echo $HOSTNAME ,都是formsip-xxxx。 有任何想法吗?

备份服务器网站作为一个自动化的过程?

我是一家小公司的networkingpipe理员。 我们在自己的服务器上托pipe我们的网站。 该网站运行在PHP和MySQL上。 我通过SSH访问服务器。 我对UNIX / LINUX命令不太熟悉,但是我已经得到了以前的networkingpipe理员关于如何备份网站的指示。 基本上,我需要将mysqldump操作导出到服务器上的.sql文件,然后将其移至本地安全位置。 我通过zip操作备份网站,并通过FTP下载。 我无法访问Apache服务器configuration,因此我无法在PHP中启用shell命令。 但是,我想编写一些简单的批处理程序,可以访问shell,login并自动运行一系列命令。 然后,pipe理员可以简单地下载这些文件(或者,更好的是,下载过程也可以自动化)。 这甚至有可能吗? 如果是这样,你能指导我从哪里开始学习这样的事情吗? 我甚至不知道要search什么。 非常感谢。