Articles of bash

无法用cd dirname cd到父目录

我做了一个bash命令,它可以生成一个用于重新启动服务器上的所有Weblogic(8,9,10)实例的单行命令。 该脚本运作良好,但我需要一个build议,使使用dirname概念更好 /usr/ucb/ps auwwx | grep weblogic | tr ' ' '\n' | grep security.policy | grep domain | awk -F'=' '{print $2}' | sed 's/weblogic.policy//' | sed 's/security\///' | sort | sed 's/^/cd /' | sed 's/$/ ; cd .. ; \/recycle_script_directory_path\/recycle/ ;' | tr '\n' ' ' 要重新启动Weblogic实例,需要从域目录内启动回收(/ recycle_script_directory_path / recycle /)脚本,因为回收脚本从域目录中的某些.ini文件中提取某些应用程序信息。 该脚本的以下部分会生成一行cd到应用程序的父目录,即域目录 […]

在bash中testing正则expression式模式的文件名

我不确定应该如何写代码,但我想testing一个文件/文件夹命名模式,如下所示: 如果[-d $ i] && [regex([0-9]。,$ i){ 做一点事 } 我希望它检查文件/文件夹是否是一个目录,并且它的名称是一个数字(即1或101或10007)…

转储存储库的SVN文件修订版本

我需要一个脚本来通过我的工作副本,并为每个文件和文件夹转储其SVN修订,无论是否修改。 什么东西都可以使用?需要Windows和Mac版本。

如何将/ usr / local / util下的二进制文件符号链接到默认的可search/ bin?

在/usr/local/util下有多个二进制文件,所以我不想通过ln -s /bin/util_i /usr/local/util/util_i运行ln -s /bin/util_i /usr/local/util/util_i 。 无论如何,我想实现的是,我不需要input/usr/local/util/来运行它下面的二进制文件。

Debian服务器不会从脚本重新启动

我有一个脚本运行通过Rsync备份服务器,脚本运行后,我希望服务器重新启动。 我的脚本在凌晨3点从Crontab以root身份运行。 #!/bin/bash HOST="email" RSYNC_OPTS="-a -v -v –progress –stats –delete" RSYNC_DEST="10.0.0.10::$HOST" BACKUP_LIST="/etc /home /root" TIMESTAMP="/timestamp-bkup-start.chk" TIMESTAMP2="/timestamp-bkup-stop.chk" touch $TIMESTAMP rsync $RSYNC_OPTS $TIMESTAMP $RSYNC_DEST for BACKUP_ITEM in $BACKUP_LIST; do rsync $RSYNC_OPTS $BACKUP_ITEM $RSYNC_DEST done /etc/init.d/zimbra stop sleep 60s rsync $RSYNC_OPTS /opt $RSYNC_DEST touch $TIMESTAMP2 rsync $RSYNC_OPTS $TIMESTAMP2 $RSYNC_DEST echo `date +%Y%m%d%H%M` >> /var/log/reset reboot # $# shows […]

如何遍历文件系统寻找正则expression式匹配?

我知道这是老将系统pipe理员的球,但我正在寻找一个文件内容匹配正则expression式(这里,“关键字”)的目录树。 我已经得到了那么多,但现在我有麻烦忽略隐藏(.svn)文件树中的文件。 这是我正在与之合作。 你可以看到,我很好的search名称中包含“.svn”的文件,但我似乎无法反转iname var! 正如我在其他文档中看到的。 find . -exec grep "Keyword" '{}' \; -iname .svn; -print 以上几乎返回任何东西和一切。

显示2个用户的SSH / bash'w'命令,但仅列出1个?

所以,差不多,当我的SSH / bashterminal(PuTTY)决定在grep命令期间停止响应的时候,我正像往常一样关心服务器业务。 ^ C不让我取消工作,所以过了一段时间我closures了terminal,并以root用户身份login,键入“用户”和“谁”显示了一个用户。 所以我退出,然后回来,作为我的普通用户,运行“顶”,并在那里说2用户。 我跳了出来,冲了出来,打了进去,就在那里。 2个用户,但仅列出1个。 漂亮的小白,我知道。 任何帮助将非常感激。

重命名networking文件

你知道任何聪明的脚本重命名文件的网页格式? (replace所有非ASCII字符,空格,音译unicode字符,改变大小写等) 例如。 my ójf ćżpd – ąąv – hźóż HŹŃÓKŁFU.jpg 至 my_ojf_czpd-aav_-_hzoz_HZNOKLFU.jpg 我一直在玩rename命令,但总是有一些新的字符,我的正则expression式不支持。 我相信这项工作已经有了一个很好的工具。

Fedora 13 init.d脚本,不能停止

我写了init.d脚本,假设运行java CLI proccess。 问题是,当我停止它,我得到[失败],并且进程仍在运行。 谢谢 #!/usr/bin/env bash # # chkconfig: 345 97 03 # # processname: quotes-srv # # # source function library . /etc/rc.d/init.d/functions NAME=quotes-srv start() { echo -n $"Starting $NAME: " daemon +19 java -Dlog4j.configuration="file:/opt/quotes/properties/log4j/log4j.properties" -Dproperties_folder="/opt/quotes/properties/app/" -jar /opt/quotes/trade-0.0.1-SNAPSHOT-jar-with-dependencies.jar & touch /var/lock/subsys/$NAME } stop() { echo -n $"Stopping $NAME: " killproc $NAME echo rm […]

path作为variables

BACKUP_SERVER_NAME="name" BACKUP_SERVER_USERNAME="user" COPY_FILE_TO_WINDOWS="/cygdrive/c/unix_test_copy" scp -r /$1/ $PRIMARY_SERVER_USERNAME@$PRIMARY_SERVER_NAME:$COPY_FILE_TO_WINDOWS 我怎样才能传递一个path到variables,以及如何将它传递给命令并执行它? 这是我的bash文件,如果有人可以转换它: PRIMARY_SERVER_NAME="error.com.jo" PRIMARY_SERVER_USERNAME="Administrator" BACKUP_SERVER_NAME="V1DEV1.com.jo" BACKUP_SERVER_USERNAME="Administrator" COPY_FILE_TO_WINDOWS="/cygdrive/c/unix_test_copy" SCAN_BATCH_FILE_WINDOWS="c:\\scan.bat" LOG_FILE="/var/log/scan.log" if [ -f "$1" ] then scp -r $1 ${BACKUP_SERVER_USERNAME}@${BACKUP_SERVER_NAME}:${COPY_FILE_TO_WINDOWS}" server_status=$? server_status_on=0 if [$server_status -eq $server_status_on ]; then ssh -l ${BACKUP_SERVER_USERNAME}@${PRIMARY_SERVER_NAME} 'cmd /c ${SCAN_BATCH_FILE_WINDOWS} {$COPY_FILE_TO_WINDOWS}\'$1' else scp -r $1 ${BACKUP_SERVER_USERNAME}@${BACKUP_SERVER_NAME}:${COPY_FILE_TO_WINDOWS} ssh -l ${BACKUP_SERVER_USERNAME} ${BACKUP_SERVER_NAME} 'cmd /c ${SCAN_BATCH_FILE_WINDOWS}${COPY_FILE_TO_WINDOWS}\'$1'' fi error_code=$?" […]