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