设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
注册
快捷导航
平台
Portal
论坛
BBS
文库
项目
群组
Group
我的博客
Space
搜索
搜索
热搜:
shell
linux
mysql
本版
用户
LinuxSir.cn,穿越时空的Linuxsir!
»
论坛
›
Linux 综合讨论区 —— LinuxSir.cn
›
shell进阶应用、shell编程
›
求精简一下这个脚本
返回列表
查看:
666
|
回复:
1
求精简一下这个脚本
[复制链接]
沙漠之子
沙漠之子
当前离线
积分
615
IP卡
狗仔卡
发表于 2010-4-25 19:30:14
|
显示全部楼层
|
阅读模式
[PHP]#!/bin/bash
#默认音量通道
MIXER="Master"
#默认步长
VOLSTEP=8
function help {
cat << EOF
用法: mmkey [MIXER] [command]
MIXER : 音量通道(默认Master)
command:
vol-up : 提升音量
vol-down : 降低音量
toggle : 静音开关
EOF
}
# Get current volume.
function get_volume
{
current_volume=$(amixer get $MIXER | grep 'Front Left:'| sed -e 's/^[^\[]*//' -e 's/^.//' -e 's/%.*$//')
status=$(amixer get $MIXER | tr -d '[]' | grep "
layback.*%" |head -n1 |awk '{print $7}')
}
# Set volume.
function set_volume
{
get_volume
dest_volume=$((current_volume+VOLSTEP))
# [ dest_volume < 0 ] && dest_volume=0
# [ dest_volume > 100 ] && dest_volume=100
if [[ dest_volume -lt 0 ]]; then
dest_volume=0
elif [[ dest_volume -gt 100 ]]; then
dest_volume=100
fi
amixer set $MIXER $dest_volume% -q
notify_percentage
}
function toggle_mute
{
get_volume
dest_volume=$current_volume
if [ $status == off ]; then
#关闭静音
notify_percentage
#notify-send "Volume" -i notification-audio-volume-$icon -h int:value
current_volume -h string:x-canonical-private-synchronous:
else
#启用静音
notify-send "Volume" -i notification-audio-volume-muted -h int:value:0 -h string:x-canonical-private-synchronous:
fi
amixer set $MIXER toggle -q
}
function notify_percentage
{
#icon='medium'
#[ $dest_volume < 30 ] && icon='low'
#[ $dest_volume > 70 ] && icon='high'
if [[ dest_volume -lt 30 ]]; then
icon='low'
elif [[ dest_volume -gt 70 ]]; then
icon='high'
else
icon='medium'
fi
notify-send "Volume" -i notification-audio-volume-$icon -h int:value
dest_volume -h string:x-canonical-private-synchronous:
}
########################################
# 主函数
########################################
[ $# -gt 2 ] && help && exit 1
parameter_1=$1
[ $# == 2 ] && MIXER=$1 && parameter_1=$2
case $parameter_1 in
vol-up ) set_volume ;;
vol-down ) VOLSTEP=-$VOLSTEP; set_volume ;;
toggle ) toggle_mute ;;
* ) help;;
esac[/PHP]
要求越精简越好 能不用if就不用if
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
显身卡
ServerOnly
ServerOnly
当前离线
积分
338
IP卡
狗仔卡
发表于 2010-4-25 22:39:49
|
显示全部楼层
看了一眼就出去的飘过...
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
Copyright © 2002-2023
LinuxSir.cn
(http://www.linuxsir.cn/) 版权所有 All Rights Reserved.
Powered by
RedflagLinux!
技术支持:
中科红旗
|
京ICP备19024520号
快速回复
返回顶部
返回列表