- 論壇徽章:
- 0
|
mplayer 隨機播放曲目腳本
#!/bin/sh
# Description: using mpalyer play audio file
# Author: pizigou
# LastModified: 2007年 08月 31日 星期五 09:57:44 CST
show_usage()
{
STR="# usage: ${0} media_dir #"
LEN=${#STR}
echo "" | awk "{ for(i=1;i<=${LEN};i++) x=x\"#\";printf(\"%s\n\",x);}"
echo ${STR}
echo "" | awk "{ for(i=1;i<=${LEN};i++) x=x\"#\";printf(\"%s\n\",x);}"
exit
}
if [ $# -eq 0 ]; then
show_usage
fi
if [ ! -e ${1} ]; then
echo "${1} not exist"
show_usage
fi
if [ ! -d ${1} ]; then
echo "${1} is not directory"
show_usage
fi
cd ${1}
MEDIA_DIR=${PWD}
# you can modify media type
MEDIA_TYPE='mp3|rm|wma|au'
TEMP_FILE="$HOME/.media_list"
#export MEDIA_DIR TEMP_FILE MEDIA_TYPE
if [ -e "${TEMP_FILE}" ]; then
rm "${TEMP_FILE}"
fi
find ${MEDIA_DIR} 2>/dev/null | grep -s -E "\.(${MEDIA_TYPE})$" 1> ${TEMP_FILE}
FILE_COUNT=`cat ${TEMP_FILE} | /usr/bin/wc -l`
if [ ${FILE_COUNT} -le 0 ]; then
echo "^_^==^_^ ${MEDIA_TYPE} can not found in ${MEDIA_DIR} ^_^==^_^"
exit
fi
#echo ${FILE_COUNT}
#echo $RANDOM
while true; do
trap "rm ${HOME}/.tmp_paly_list ${TEMP_FILE} 1 2>/dev/null;echo ' ';exit" KILL INT
#EXPR="${RANDOM} % ${FILE_COUNT}"
clear
echo '/**********************Welcome to use mplayer random play script***********************/'
echo "/== Directory: ${MEDIA_DIR} ==/"
echo "/== File Numbers: ${FILE_COUNT} ==/"
echo "/== Author: pizigou ==/"
echo "/== Base Usage: <space> pause ==/"
echo "/== <Esc> next song ==/"
echo "/== <Ctrol+C> exit ==/"
echo '/**********************Welcome to use mplayer random play script***********************/'
#echo $EXPR
#RND_NUM=`expr $EXPR`
RND_NUM=`echo test | awk "{ srand(); printf(\"%d\n\", rand()*${FILE_COUNT});}"`
#echo $RND_NUM
if [ ${RND_NUM} -eq 0 ]; then
#RND_NUM=1
continue
fi
#echo $RND_NUM
#echo ${TEMP_FILE}
#sed -n "${RND_NUM},${RND_NUM}p" ${TEMP_FILE} > ${HOME}/.tmp_play_list | mplayer -playlist ${HOME}/.tmp_play_list 1 2>/dev/null; rm ${HOME}/.tmp_play_list
RND_FILE=`sed -n "${RND_NUM},${RND_NUM}p" ${TEMP_FILE}`
#echo ${RND_FILE}
mplayer ${RND_FILE}
done
|
一個簡單列取進程腳本
#!/bin/sh
# Description: find match process from process list
# Author: pizigou
# LastModified: 2007年 08月 31日 星期五 09:57:44 CST
show_usage()
{
STR="# ${0} -name pidname #"
LEN=${#STR}
echo "" | awk "{ for(i=1;i<=${LEN};i++) x=x\"#\";printf(\"%s\n\",x);}"
echo "# usage: ${0} -u username #"
echo "# ${0} -pid pid #"
echo "# ${0} -name pidname #"
echo "" | awk "{ for(i=1;i<=${LEN};i++) x=x\"#\";printf(\"%s\n\",x);}"
exit
}
if [ ${#} -eq 0 ]; then
show_usage
fi
if [ -z ${2} ]; then
show_usage
else
#echo ${2}
PARAM=`echo ${2} | sed 's/\//\\\\\//g'`
fi
#echo ${PARAM}
#exit
case ${1} in
-u)
ps aux | awk "BEGIN { printf(\"user\tpid\tname\n\");} { if(\$1 ~ /${PARAM}/ ) printf(\"%s\t%d\t%s\n\",\$1,\$2,\$11); }"
;;
-pid)
ps aux | awk "BEGIN { printf(\"user\tpid\tname\n\");} { if(\$2 ~ /${PARAM}/ ) printf(\"%s\t%d\t%s\n\",\$1,\$2,\$11); }"
;;
-name)
ps aux | awk "BEGIN { printf(\"user\tpid\tname\n\");} { if(\$11 ~ /${PARAM}/ ) printf(\"%s\t%d\t%s\n\",\$1,\$2,\$11); }"
;;
*)
show_usage
;;
esac
#ps aux | grep -s -E "(${1})" | grep -v "${0} ${1}"
#ps aux | awk 'BEGIN { printf("user\tpid\tname\n");} {printf("%s\t%d\t%s\n",$1,$2,$11); }'
|
|
|