寻觅生命中的那一片浅草......

文章属于类别 Shell

关于Shell的补零,用printf来格式化数字列。

解答论坛一个朋友关于获取01、02…10,而非1、2….10。
因为需要用flashget下载这样一些列的文件。自己了解这个应用,但是以前也没有处理过。还是有需要的。经过g后,测试得到。

[root@kook tmp]# cat for.sh
for ((a=1; a<=10 ; a++))
do
printf “%02d\n” $a
done
[root@kook tmp]# ./for.sh
01
02
03
04
05
06
07
08
09
10

这么写,也可以。

[root@kook tmp]# cat for.sh
for ((a=1; a<=10 ; a++))
do
printf “%.2d\n” $a
done

继续测试。

[root@kook tmp]# printf “%04d\n” -3
-003
[root@kook tmp]# printf “%.4d\n” -3
-0003

转载自:http://cnc.52zhe.cn/read.php/165.htm

[转]Bash获得子进程返回值的方法

我们用“&”把进程放入后台以后,如果需要了解进程的执行情况,可以使用wait函数。默认情况下wait会等待任意子进程结束但是不会返回子进程的返回值。而以子进程的pid作为参数调用wait时,wait便能够返回该子进程的退出状态了。
具体操作如下:

#!/bin/bash
command1 &
command2 &
command3 &
for pid in $(jobs -p)
do
wait $pid
[ “x$?” == “x0” ] && ((count++))
done

这里我们借助了“jobs -p“来获得所有后台进程的pid。

Vim 杀手级 Tip: 快速处理配对标点符号中的文本

这称得上是一个 Vim 的杀手级 Tip,利用该 Tip,你可以快速处理 ‘、”、()、[]、{}、<> 等配对标点符号中的文本内容,包括更改、删除、复制等。
ci’、ci”、ci(、ci[、ci{、ci< – 分别更改这些配对标点符号中的文本内容
di’、di”、di(、di[、di{、di< – 分别删除这些配对标点符号中的文本内容
yi’、yi”、yi(、yi[、yi{、yi< – 分别复制这些配对标点符号中的文本内容

对于经常用 Vim 写代码的朋友来说,善用此 Tip 将极大的提高编码效率。

转载自:http://linuxtoy.org/archives/killer-vim-tip.html

A rsync script with openvpn

#mkdir /data/conf/openvpn

up is a file containing vpn username/password on 2 lines

#vi /data/conf/openvpn/up
username
password

#vi /data/sh/rsync_my_files.sh
#!/bin/bash

#start openvpn in background
cd /data/conf/openvpn
/usr/sbin/openvpn –config openvpn.ovpn –auth-user-pass up –daemon

/usr/bin/rsync -vazu –password-file=/data/conf/rsync.pass rsy_user@192.168.1.100::db_file /data/backup/db_file

#disconnect from vpn server after synchronization
pkill openvpn

make rsync_my_files.sh executable

#chmod 700 /data/sh/rsync_my_files.sh

用curl检测URL返回状态

#!/bin/bash
#自动检测论坛php是否挂了

while true
do
URL=” http://bbs.example.cn”
RETURN=`curl -o /dev/null -s -w “%{http_code}” “${URL}”`
if [ $RETURN != ‘200’ ];then
/data/sh/fastcgi_restart
fi
sleep 12
done

2024年三月
« 5月    
 123
45678910
11121314151617
18192021222324
25262728293031