shell 用例

1.对目录文件进行循环

cd samsung_ringtones

xgm@sw-server:~/qrd/gingerbread/frameworks/base/data/sounds/samsung_ringtones$ for i in *;do echo "  "\$\(LOCAL_PATH\)/samsung_ringtones/$i:system/media/audio/ringtones/$i \\; done
  $(LOCAL_PATH)/samsung_ringtones/01_Minimal_tone.ogg:system/media/audio/ringtones/01_Minimal_tone.ogg \
  $(LOCAL_PATH)/samsung_ringtones/ANDROMEDA.ogg:system/media/audio/ringtones/ANDROMEDA.ogg \
  $(LOCAL_PATH)/samsung_ringtones/Basic_bell.ogg:system/media/audio/ringtones/Basic_bell.ogg \
  $(LOCAL_PATH)/samsung_ringtones/CASSIOPEIA.ogg:system/media/audio/ringtones/CASSIOPEIA.ogg \
  $(LOCAL_PATH)/samsung_ringtones/Eridani.ogg:system/media/audio/ringtones/Eridani.ogg \
  $(LOCAL_PATH)/samsung_ringtones/Lyra.ogg:system/media/audio/ringtones/Lyra.ogg \
  $(LOCAL_PATH)/samsung_ringtones/More_polite.ogg:system/media/audio/ringtones/More_polite.ogg \
  $(LOCAL_PATH)/samsung_ringtones/Pegasus.ogg:system/media/audio/ringtones/Pegasus.ogg \
  $(LOCAL_PATH)/samsung_ringtones/PERSEUS.ogg:system/media/audio/ringtones/PERSEUS.ogg \
  $(LOCAL_PATH)/samsung_ringtones/Pyxis.ogg:system/media/audio/ringtones/Pyxis.ogg \
  $(LOCAL_PATH)/samsung_ringtones/Rigel.ogg:system/media/audio/ringtones/Rigel.ogg \
  $(LOCAL_PATH)/samsung_ringtones/Road_Trip.ogg:system/media/audio/ringtones/Road_Trip.ogg \
  $(LOCAL_PATH)/samsung_ringtones/S_A_cricket_chirps.ogg:system/media/audio/ringtones/S_A_cricket_chirps.ogg \
  $(LOCAL_PATH)/samsung_ringtones/S_Chime.ogg:system/media/audio/ringtones/S_Chime.ogg \
  $(LOCAL_PATH)/samsung_ringtones/S_Crossingwalk.ogg:system/media/audio/ringtones/S_Crossingwalk.ogg \
  $(LOCAL_PATH)/samsung_ringtones/S_Cuisine.ogg:system/media/audio/ringtones/S_Cuisine.ogg \
  $(LOCAL_PATH)/samsung_ringtones/S_Down_Hill.ogg:system/media/audio/ringtones/S_Down_Hill.ogg \
  $(LOCAL_PATH)/samsung_ringtones/S_Easter_Island.ogg:system/media/audio/ringtones/S_Easter_Island.ogg \
  $(LOCAL_PATH)/samsung_ringtones/S_Emotive_sensation.ogg:system/media/audio/ringtones/S_Emotive_sensation.ogg \
  $(LOCAL_PATH)/samsung_ringtones/S_Illuminator.ogg:system/media/audio/ringtones/S_Illuminator.ogg \
  $(LOCAL_PATH)/samsung_ringtones/S_Mirage_of_you.ogg:system/media/audio/ringtones/S_Mirage_of_you.ogg \
  $(LOCAL_PATH)/samsung_ringtones/S_Over_the_horizon.ogg:system/media/audio/ringtones/S_Over_the_horizon.ogg \
  $(LOCAL_PATH)/samsung_ringtones/S_Polaris.ogg:system/media/audio/ringtones/S_Polaris.ogg \
  $(LOCAL_PATH)/samsung_ringtones/S_Pure_tone.ogg:system/media/audio/ringtones/S_Pure_tone.ogg \
  $(LOCAL_PATH)/samsung_ringtones/S_School.ogg:system/media/audio/ringtones/S_School.ogg \
  $(LOCAL_PATH)/samsung_ringtones/S_Single_tone.ogg:system/media/audio/ringtones/S_Single_tone.ogg \
  $(LOCAL_PATH)/samsung_ringtones/S_Sniper.ogg:system/media/audio/ringtones/S_Sniper.ogg \
  $(LOCAL_PATH)/samsung_ringtones/S_Spinning_around.ogg:system/media/audio/ringtones/S_Spinning_around.ogg \
  $(LOCAL_PATH)/samsung_ringtones/S_Wine_Bottle.ogg:system/media/audio/ringtones/S_Wine_Bottle.ogg \
  $(LOCAL_PATH)/samsung_ringtones/URSAMINOR.ogg:system/media/audio/ringtones/URSAMINOR.ogg \


2. bat 循环编译modem

E:\code\amss11452302\modem_proc\build\ms>cat mybuild.bat
@echo off
call rvct22.bat
set count=0
:again
call UAL601.cmd  >build.log 2<&1
set /a count=%count%+1
echo "count %count%"
grep "Cannot obtain license for Compiler" build.log
if errorlevel 1 (echo "Job Done") else (goto again)

3.对目录下的文件按数字顺序重命名

count=0
for i in *.png; do
count=$((count+1))
dst=`printf %02d $count`
mv $i $dst.png
done

4.bash参数遍历及case用法

version=user
ui=voto
while [ $# -gt 0 ]; do
case $1 in
eng ) version=eng;;
user ) version=user;;
voto ) ui=voto;;
samsung ) ui=samsung;;
esac
shift
done

5. bat参数遍历

@echo off
set OUT=\\192.168.180.181\xgm\qrd\ics\qjb\out\target\product\ual603
:beg
if  "%1" == ""  goto :eof
if %1 == system call :flash_system
if %1 == boot   call :flash_boot
if %1 == userdata call :flash_userdata
if %1 == reboot  call :flash_reboot
if %1 == all     call :flash_all
shift
goto :beg

:flash_system
echo flash_system
fastboot flash system  %OUT%\system.img
goto :eof

:flash_boot
echo flash_boot
fastboot flash boot %OUT%\boot.img
goto :eof

:flash_userdata
echo flash_userdata
fastboot flash userdata %OUT%\userdata.img
goto :eof

:flash_reboot
echo flash_reboot
fastboot reboot
goto :eof

:flash_all
echo flash_all
call :flash_boot
call :flash_system
call :flash_userdata
call :flash_reboot
goto :eof

6 bash数组使用

#!/bin/bash
args=($@)
last_arg_index=$(($# -1))
last_arg=${args[$last_arg_index]}
git_dir=(frameworks/base/ kernel/ vendor/goso/projects/ vendor/goso/packages/apps/Browser/ vendor/goso/packages/apps/Camera/ vendor/goso/packages/apps/Contacts/ vendor/goso/pack
ages/apps/FileExplorer/ vendor/goso/packages/apps/FMRadio/ vendor/goso/packages/apps/Gallery2/ vendor/goso/packages/apps/Launcher2/ vendor/goso/packages/apps/Mms/ vendor/goso/pa
ckages/apps/Music/ vendor/goso/packages/apps/Phone/ vendor/goso/packages/apps/Settings/ vendor/goso/packages/apps/SoundRecorder/ vendor/goso/packages/apps/evt)
for i in ${git_dir[@]}
do
if [ $i != "${last_arg##$i}" -a "$i${last_arg##$i}" == $last_arg ];then
        old_dir=$(pwd)
        echo "entering "$i
        cd $i
        args[$last_arg_index]=${last_arg##$i}
        echo "git "${args[@]}
        git  ${args[@]}
        cd $old_dir
        return
fi
done
if [ $# -eq 2 -a "$last_arg" == "all" -a \( "$1" == "status" -o "$1" == "pull" \) ];then
        git $1
        for i in ${git_dir[@]}
        do
                old_dir=$(pwd)
                echo "entering "$i
                cd $i
                echo "git "$1
                git $1
                cd $old_dir
        done
else
        git ${args[@]}
fi


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值