Linux shell脚本命令记录

1、cut

cut 命令可以从一个文本文件或者文本流中提取文本列。

选项与参数:
-d  :后面接分隔字符。与 -f 一起使用;
-f  :依据 -d 的分隔字符将一段信息分割成为数段,用 -f 取出第几段的意思;
-c  :以字符 (characters) 的单位取出固定字符区间;

egg:

Linux shell脚本命令记录_第1张图片

 参考:https://www.cnblogs.com/liuyansheng/p/6180332.html

2、identify

identify命令主要用于获取一个或多个图像文件的格式和特性。

identify loading_01.bmp 
loading_01.bmp BMP 1920x1200 1920x1200+0+0 8-bit DirectClass 9.216MB 0.020u 0:00.020

3、shell中#*,##*,#*,##*,%*,%%*的含义及用法

Linux shell脚本命令记录_第2张图片

 Linux shell脚本命令记录_第3张图片

 参考:shell中#*,##*,#*,##*,%*,%%*的含义及用法_Locutus的博客-CSDN博客

4、-o:或

      lt:小于

5、shell脚本中$#、$*、$@、$?、$0-n等含义一次性搞明白!!!

Linux shell脚本命令记录_第4张图片

 ∗与@的区别:

当命令行为test.sh 1 2 3

"$*"表示"1 2 3"

"$@"表示"1" "2" "3"

二者没有加上双引号时是一样的都为"1 2 3",只有加上双引号后才表现出差异:

"$*"将命令行所有的参数看成一个整体,而"$@"则区分各个参数。

egg:

源码:

Linux shell脚本命令记录_第5张图片

结果: 

 Linux shell脚本命令记录_第6张图片

 参考:shell脚本中$#、$*、$@、$?、$0-n等含义一次性搞明白!!!_shell $#_Doctor舒畅的博客-CSDN博客

6、convert命令:

Linux shell脚本命令记录_第7张图片

 参考:Linux命令之convert命令_柒️星的博客-CSDN博客

目标代码:

PARAMS=($*)
LENGTH=${#PARAMS[*]}
PAGESIZE=${PARAMS[0]}
FILENAME=${PARAMS[$LENGTH-1]}
NIMG=${PARAMS[1]}

if [ $# -lt "3" -o $# -lt "$NIMG" ]; then
#exit
fi

for ((idx=0; idx<$NIMG; idx++));
do
IMG_ORI[$idx]=${PARAMS[$idx+2]}
IMG_EXT[$idx]=${IMG_ORI[$idx]%%.*}.tmp
IMG_FN[$idx]=${IMG_ORI[$idx]%%.*}.img

IMG_RSL[$idx]=$(identify "${IMG_ORI[$idx]}" | cut -f 3 -d' ')

IMG_BITS[$idx]=$(file "${IMG_ORI[$idx]}" | cut -f 11 -d' ')

FMTSIZE=`./bmpbpp ${IMG_ORI[$idx]}`

if [ "$FMTSIZE" -eq "32" ] ; then
echo "convert 32 bit image"
convert -depth 8 ${IMG_ORI[$idx]} rgb:${IMG_EXT[$idx]}
./rgbto888 <${IMG_EXT[$idx]}> ${IMG_FN[$idx]}
fi

done

echo ${IMG_RSL[*]}
echo ${IMG_BITS[*]}

MK_SPLASH="./mksplash $PAGESIZE $NIMG ${IMG_FN[*]} ${IMG_RSL[*]} $FILENAME"
echo $MK_SPLASH
$MK_SPLASH

 

你可能感兴趣的:(arm开发)