您的位置:首页 > 其它

预处理命令之条件编译(#ifdef,#endif,#else)

2012-09-15 00:03 846 查看
写一个简单的shell脚本,脚本运行时让CTRL+C无法中断的该shell脚本?
复制内容到剪贴板
代码:
!/bin/bash

trap "loop" 2

loop()
{
echo "haha,you can't break me!"
}

while((1))
do
echo "Keep alive!"
sleep 10
done
编写脚本实现以下功能:每天早上5点开始做备份,要备份的是/var/mylog里所有文件和目录可以压缩进行备份,备份可以保存到别一台器上192、168、1、2 FTP帐号 aaa 密码 bbb 要示每天的备份文件要带有当天的日期标记
复制内容到剪贴板
代码:
[root@localhost sh]# crontab -l
0 5 * * * /sh/backup.sh

脚本如下:
[root@localhost sh]# cat backup.sh
#!/bin/bash

name=`date +%F`
tar czf $name.tgz /var/mylog/*
user='aaa'
passwd='bbb'
host='192.168.1.2'
cd /var/mylog

ftp -n $host <<EOF
quote user $user
quote passwd $passwd
put $name.tgz
quit
EOF
判断一个文件是否为字符设备,如果是将其拷贝至/etc
复制内容到剪贴板
代码:
#character.sh
#!/bin/bash

read -p 'input filename: ' filename
if [[ -c "$filename" ]];then
cp $filename /etc
fi
在A目录下创建50个文件file1-file50,然后将其移至/path/B
复制内容到剪贴板
代码:
#mkfile.sh
#!/bin/bash
A=/test1
B=/test2
cd $A

for num in {1..50}
do
touch file$num
done

cp $A/file* $B
检测某个端口所占用的进程
lsof -i:8080

在不umount的情况下,如何重新设置mount的参数
mount -o remout,rw /dev/hdc

linux文件的权限位x对目录和文件有何不同?
x对目录:允许该目录下运行可执行命令,对文件:是否有可执行权限

找出/taomee目录下的所有常规文件并设置权限644
find /taomee -type f | xargs chmod 644

如何查找某一文件被哪个进程打开?
fuser -mv /sh/rm.sh

新增一块存储设备,lvm操作的命令如何写
pvcreate vgcteate lvcreate

给主机host:172.16.0.2增加gateway10.0.0.110
route add host 172.16.0.2 gateway10.0.0.110

写一个简单的shell脚本,脚本运行时让CTRL+C无法中断的该shell脚本?

!/bin/bash

trap "loop ...
继续上贴。。
使用awk打印出 welcome to taomee
复制内容到剪贴板
代码:
# cat aa
welcome to taomee
# cat aa | awk '{print $0}'
welcome to taomee
找出access.log中访问top 10的ip地址
复制内容到剪贴板
代码:
awk '{print $1}' /var/log/httpd/access_log | uniq -c | sort -r | head -10
打印1-100奇数
复制内容到剪贴板
代码:
#print.sh
#!/bin/bash

for i in `seq 1 100`
do
let a=$i%2
if [[ $a -ne 0 ]];then
echo $i
fi
done
删除一个文件中行号为奇数的行
复制内容到剪贴板
代码:
#rm.sh
#!/bin/bash

num=$(cat /sh/aa | wc -l)
i=1
while read line
do
number=i%2
if [[ $number -eq 0 ]];then
echo "$line" >> /sh/bb
fi
let i++
done<"/sh/aa"

mv /sh/bb /sh/aa
替换某一个文件的字符串
就那上面的例子来说(将******替换成network)
复制内容到剪贴板
代码:
[root@localhost sh]# cat aa
taomee.***********.peoplenet
[root@localhost sh]# sed -i 's/\*.*$\./network/' aa
[root@localhost sh]# cat aa
taomee.network.peoplenet
exec和souce区别
exec用来对文件的操作(创建、打开、关闭等),而source让修改后的文件立即生效如:/etc/profile,也相当于.让其在父shell中执行
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: