![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
shell
向良玉
做自己想做的
展开
-
shell trap
trap用于捕获信号。信号可以被应用程序或脚本捕获。并依据该信号(1 2 3 15)采取想要的行动。一些信号不能被捕获,如,一个命令收到信号9,就无法再捕获其他信号。命令形式是:trap name signal(s)name是捕捉到信号后所采取的行动,常见的行动有:1)清除临时文件、2)忽略该信号((trap “ ” 2 3)3)询问用户是否终止该脚本的运行。原创 2012-10-12 14:24:03 · 2151 阅读 · 0 评论 -
佛祖保佑,永不死机
echo -ne "\033[0;33m"cat<<EOT _oo0oo_ 088888880 88" . "88 (...原创 2018-09-10 10:17:47 · 1481 阅读 · 0 评论 -
shell判断变量是否为数字
shell判断变量是否为数字方法一、测试相加是否成功expr $a+0 &>/dev/nullRETVAL=$?test $RETVAL &nbsp;-eq 0 {echo "number" exit 1} 方法二、将数字全部用空格代替[ -n "`echo $1|sed 's/[0-9]//g'`" ]&& { echo ...原创 2018-09-07 17:38:55 · 9842 阅读 · 2 评论 -
ssh远程执行脚本并在后台运行,通过screen解决
ssh远程执行脚本并在后台运行,通过screen解决screen_name=&quot;my_screen" &nbsp;screen -dmS $screen_name 现在,我们就已经创建了一个名为 my_screen 的窗口。然后,我们需要向其发送具体的命令。我们用如下命令:cmd="your shell"; screen -x -S $screen_...原创 2018-09-13 14:26:24 · 2089 阅读 · 0 评论 -
解决shell当while read line 遇到exit 只退出循环,不退出脚本
解决shell当while read line 遇到exit 只退出循环,不退出脚本&nbsp;#!/bin/bashwhile read linedo if [ "$line" == "do" ];then exit 2 fi echo $linedone<<<"$(cat 1)"...原创 2018-09-14 14:58:08 · 4696 阅读 · 0 评论 -
shell包含空格的文件名替换大小写
shell包含空格的文件名替换大小写For解决,通过修改IFS:old_ifs="$IFS" ; IFS=$'\n';for i in `ls`; do mv "$i" "$(echo "$i" | sed 's/.*/\L&/g')" ; done ; IFS="$old_ifs" while解决:ls |grep '[A-Z]'| while read i;do m..原创 2018-09-14 14:58:43 · 408 阅读 · 0 评论 -
shell通过awk、sed提取指定内容、段落,练习题
shell通过awk、sed提取指定内容、段落,练习题指定提取start 1 或者start 2的段落:qwerstart 1sflasfdjsdfhsdend iyustart 2oereogkdjlsfjwesdlkfjwesjdflsend 解决:sed:sed -n '/start 1/{N;:1;/end/{p;b}...原创 2018-09-15 09:38:02 · 5844 阅读 · 0 评论 -
shell通过awk、sed向上合并,练习题
shell通过awk、sed向上合并,练习题 要求将下图三行合并成一行: 解决:sed:ethtool p2p1| sed -r ':1;N;/\n\s*10+/s/\n\s+/ /g;t1;P;D' awk:ethtool p2p1|awk 'NR>1&&!/100.*baseT\/Full/{print ""}{printf...原创 2018-09-15 09:38:34 · 498 阅读 · 0 评论 -
linux下svn中限制上传文件大小的hooks
linux下svn中限制上传文件大小的hooksBash#!/bin/bash# PRE-COMMIT HOOKexport.UTF-8REPOS="$1"TXN="$2"SVNLOOK="/usr/bin/svnlook"files=`$SVNLOOK changed -t $TXN $REPOS|awk '{print $2}'`for f in $filesdo...原创 2018-09-15 09:41:18 · 2216 阅读 · 0 评论 -
神兽保佑,代码无BUG!
echo -ne "\033[0;33m"cat<<EOT ┏┓ ┏┓ ┏┛┻━━━┛┻┓ ┃ _ \__ ┃ ┃ ┃ ┳┛ ┗┳ ┃ ┃ ┃ ┃ | ┃ ┃ _ ┃ ┗━┓ ┏━┛ ┃ ┃ 神兽保佑 ...原创 2018-09-10 10:17:16 · 944 阅读 · 0 评论 -
shell控制超时时间,自动退出
shell控制超时时间,自动退出Bashtimeout(){waitfor=3 command=$* $command & commandpid=$! ( sleep $waitfor ; kill -9 $commandpid >/dev/null2>&1)& ...原创 2018-09-10 10:16:46 · 10550 阅读 · 0 评论 -
有趣的shell,管道
有趣的shell,管道#!/bin/bash#按回车退出 p=1f=75 s=13 r=200 t=0w=$(tput cols) h=$(tput lines)# ab -> idx = a*4 + b# 0: up, 1: right, 2: down, 3: left# 00 means going up , then going up -&...原创 2018-09-10 10:15:40 · 213 阅读 · 0 评论 -
shell shift
shift命令会重新分配位置参数,其实就是把所有的位置参数都向左移动一个位置。比如shift 3表示原来的$4现在变成$1,原来的$5现在变成$2等等,原来的$1、$2、$3丢弃,$0不移动。不带参数的shift命令相当于shift 1。我们知道,对于位置变量或命令行参数,其个数必须是确定的,或者当 Shell 程序不知道其个数时,可以把所有参数一起赋值给变量$*。若用户要求 Shel原创 2012-10-25 19:43:18 · 1462 阅读 · 0 评论 -
php页面远程执行shell脚本
php在执行shell时使用的默认用户为nobody用户,因此引起命令无法执行返回结果为空的问题。既然是权限问题,那么可以转换成root来执行,sudo即可转换为root或者相应的用户来执行命令exec('sudo -u root -S your_command');远程,当然得加上服务器本身的key,这样方便需要的配置:a. 配置nobody用户的sudo权限,修原创 2012-10-23 11:02:46 · 3944 阅读 · 0 评论 -
inotify实现目录同步
#!/bin/bash#rsync file to other centerfile1=/tmp/a/inotifywait -mrq --timefmt '%d/%m/%y-%H:%M' --format '%T %w%f' -e modify,delete,create,attrib ${file1} | while read filedo rsync --excl原创 2013-07-26 19:34:06 · 933 阅读 · 0 评论 -
当while里有ssh,注意点
需要读取一个文本,次文本每一行包含一个IP在while循环中使用ssh,但ssh完第一行后就退出了,如何避免自动读取一行就跳出while循环,此文将详细解释其原因。 最近在写一个自动更新的shell,可是发现如果在使用while循环从一个文件中读取ip地址,然后访问就只能读取第一行纪录。代码如下: while read LINE do echo ********原创 2014-01-10 15:11:31 · 1157 阅读 · 1 评论 -
php在linux终端输出带颜色
php在linux终端输出带颜色得借助于linux的shell,那么先来了解下:Linux下Shell脚本输出带颜色文字 文本终端的颜色可以使用“ANSI非常规字符序列”来生成。举例: echo -e "\033[44;37;5m ME \033[0m COOL" 以上命令设置作用如下:背景色为蓝色,前景色为白色,字体闪烁,输出字符“ME”,然后重新设置屏幕到缺省设原创 2012-10-24 14:40:34 · 6341 阅读 · 0 评论 -
shell字符串分割成数组
root@localhost:~/xly# vim 1#!/bin/bashstring="hello abc,shell,haha"OLD_IFS="$IFS"IFS=","array=($string)IFS="$OLD_IFS"for var in ${array[@]}doecho $vardone echo $string | awk...原创 2018-09-08 09:56:12 · 3045 阅读 · 0 评论 -
通过shell自动导入SQL到zblog里生成文章
通过shell自动导入SQL到zblog里生成文章Bashfunction in_sql(){log_CateID=$1log_Alias=$2log_Title=$3pic_file=$4log_Content='<p>html</p>'log_AuthorID=1log_Status=0log_Type=0log_IsTop=0log_Is...原创 2018-09-10 10:07:44 · 674 阅读 · 0 评论 -
shell计算指定时间的N分钟前
用时间戳# date -d '2018-08-27 10:00:00' +%s1535335200然后在加上N分钟_plus=`expr $N * 60`然后再减去result=`expr 1535335200 - $_plus `最后再把时间戳换成时间date -d @${result} +%Y%m%d%H%M%S...原创 2018-09-10 10:13:01 · 3715 阅读 · 0 评论 -
linux下svn服务强制添加备注(注释)提交
linux下svn服务强制添加备注(注释)提交Linux版本:line-height: 26px; white-space: normal; background-color: rgb(255, 255, 255);"/>1、在svn的hooks目录下新建一个名为pre-commit的文件并为其添加执行权限2、pre-commit文件的内容如下:#!/bin/shREPOS="$...原创 2018-09-15 09:41:57 · 1121 阅读 · 0 评论