几个简单的shell脚本

  今天写了个linux shell脚本,通过不同命令行参数来执行不同操作,使用到了linux shell的命令行参数输入和case语句,此篇做备忘录吧。

#!/bin/sh
case $1 in
webp) cd webp;;
jpeg) cd jpeg;;
zlib) cd zlib;;
lz)  cd lz;;
*) echo "Invalid parameter!"
	exit -1
;;
esac
make clean
make
make install
cd ..
exit

    为了进行交叉编译,需要将.dll转化为.def和.a文件,所以我写了个批量处理的脚本,如下:

#!/bin/bash

#文件夹是否存在
if [ ! -d lib ]; then
  mkdir lib
fi

for file in  $(ls *.dll)
do
 #echo $file
i686-w64-mingw32-dlltool --dllname $file --def ${file%.*}.def --output-lib ./lib/${file%.*}.a
done
exit 0 

    在做调试spiceserver时,有时候我需要将图片进行保存,为此我需要写一个脚本,将文件夹中的所有图片进行tar压缩,然后拷贝到指定位置:

#!/bin/bash
IMAGE_DIR=/tmp/image
CURR_DIR=$(pwd)
#文件夹是否存在
if [ ! -d $IMAGE_DIR ]; then
  mkdir $IMAGE_DIR
fi
#文件夹是否为空
if [ -n "`ls -A $IMAGE_DIR`" ]; then
  cd $IMAGE_DIR
  #将当前文件夹中的所有文件打包压缩,排除当前目录和父目录
  tar -czvf ./image.tar.gz --exclude . --exclude .. * 
  cp -f image.tar.gz $CURR_DIR/image/
  rm -rf *
else
  echo "dir $IMAGE_DIR is empty!"
fi
exit 0 

  接下来来一个1到100求和的:

#!/bin/sh
x=1
sum=0
while [ "$x" -le 100 ]; do 
    sum=$(($sum+$x))
	x=$(($x+1))
done
echo $sum
exit 0 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值