水~
掘金第一篇来个脚本吧~
这个脚本主要功能是将百分比转成16进制。
原因:我司设计大佬提交到 lanhu 的设计稿是以百分比不透明度控制的颜色,而 Android 里面用的是16进制 ARGB。所以就有了这个脚本~
创建一个.sh
文件
例如:tran_calc.sh。然后复制粘贴下面的内容:
#!/bin/bash
# 计算0%~100%
tran_table(){
tran=0
while((tran <= 100))
do
tran_to_hex $tran;let "tran++"
done
}
# 计算并格式化输出hex
tran_to_hex(){
# 例如:tran_to_hex FF 这里 $1 指的是 FF 。也对应了下文的【参数2】
tran=$1
temp=$((255*$tran/100))
#计算hex值,并补充前导0
hexStr=$(echo "obase=16;$temp"|bc|awk '{ len = (2 - length % 2) % 2; printf "%.*s%s\n", len, "00000000", $0}')
# 格式化输出
printf "透明度 %3s 百分比 %3s%% Hex %s \n" $temp $tran $hexStr
}
# 参数大于两个的时候 执行 then 内代码
if test $# -ge 2
then
#第一个参数为hex的时候执行 then 内代码
if test $1 = "hex"
then
#调用 函数,并传入【参数2】
tran_to_hex $2
else
tran_table
fi
else
# 参数不足两个,输出对照表
tran_table
fi
复制代码
添加可执行权限
chmod a+x tran_calc.sh
复制代码
创建软链接
终端执行下面指令
ln -s `pwd`/tran_calc.sh /usr/local/bin/tran_calc
复制代码
使用
现在你就可以在终端执行
- 输出0%~100%的透明度对照表
tran_calc
复制代码
或者
- 转换数值到16进制
tran_calc hex [数值]
复制代码
例如 tran_calc hex 50
即表示计算50%透明度的hex值
扩展知识
Shell 传递参数。看下面这个对照表,来自菜鸟教程-——传递参数章节。
写法 | 含义 |
---|---|
$# | 传递到脚本的参数个数 |
$* | 以一个单字符串显示所有向脚本传递的参数。 如”1 n”的形式输出所有参数。 |
$$ | 脚本运行的当前进程ID号 |
$! | 后台运行的最后一个进程的ID号 |
$@ | 与@”用「”」括起来的情况、以”2″ … “$n” 的形式输出所有参数。 |
$- | 显示Shell使用的当前选项,与set命令功能相同。 |
$? | 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。 |
本来还想看看有没有机会参加下8月更文活动来着。字数少不能参加、有大段代码不能参加、有大量引用的也不能参加。哈哈哈。我都占了。算了算了~
将就看。欢迎指正~~
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END