首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

红色标记的一部分是啥意思呀

2013-02-19 
红色标记的部分是啥意思呀?#!/bin/bash#文件名 rename.sh#用途:重命名.jpg和.png文件count1for img in *

红色标记的部分是啥意思呀?
#!/bin/bash
#文件名 rename.sh
#用途:重命名.jpg和.png文件
count=1;
for img in *.jpg *.png
do
new=image-$count.${img##*.}
mv "$img" "$new" 2> /dev/null
if [ $? -eq 0 ];
then
echo "Renaming $img to $new"
let count++
fi
done

请问红色标记的地方是啥意思哦?
[解决办法]
将"$img"重命名为"$new",把出错消息重定向到/dev/null,即,即使出错也不会有任何提示。
数字的含义:0表示stdin,0表示stdout, 2表示stderror

[解决办法]
${img##*.}是截取img变量从头部直到第一个.的字符串吧。
[解决办法]

引用:
${img##*.}是截取img变量从头部直到第一个.的字符串吧。

是去掉最大前缀.

img=image.jpg
${img##*.}就是jpg

${parameter##word}
    Remove Largest Prefix Pattern. The word will be expanded to produce a pattern. The parameter expansion then will result in parameter, with the largest portion of the prefix matched by the pattern deleted. 

热点排行