특정 파일을 실행할 때마다 처리하는 스크립트가 필요한데, 실제 스크립트에서는 파일을 선택할 수 있는 선택 메뉴가 열립니다.
스크립트는 다음과 같습니다.
#!/bin/bash
#------------------------------------------------------
# Imprime un mensaje de trazas
#------------------------------------------------------
function DEBUG
{
HOUR=`date +"%m-%d-%y %H:%M"`
TYPE="INFO"
printf "%s %s : %s \n" "$HOUR" "$TYPE" "${1}"
}
#------------------------------------------------------
#---------------------------------------------------------------
# Reiniciar Xwinwrap con el fichero que se pasa como parametro
#---------------------------------------------------------------
function XWINWRAP
{
FICHERO=$1
DEBUG "Fichero es [$FILE]"
# Chequear que el fichero no este vacio
if [ -z $FICHERO ];
then
# No se indico ningun fichero, salimos
exit;
else
DEBUG "File is $FILE"
# TODO: Chequeamos si esta en ejecucion xwinwrap y lo paramos
killall xwinwrap
sleep 1
# Reanudamos xwinwrap con el nuevo fichero
DEBUG "Reanudando xwinwrap con $FILE..."
xwinwrap -ni -o 1.0 -fs -s -st -sp -b -nf -- mplayer -loop 0 -wid WID -nosound -quiet "${FILE}" &
fi
}
#----------------------------------------------------------------
#----------------------------------------------------------------
# Principal
#----------------------------------------------------------------
# REQUIERE: zenity, mplayer y xwinwrap
# Puedes encontrar muchos videos en http://www.dreamscene.org/
#----------------------------------------------------------------
# Descarga de xwinwrap: http://tech.shantanugoel.com/projects/linux/shantz-xwinwrap
#----------------------------------------------------------------
VERSION="1.1"
ZENITY=$(which zenity)
# Textos
select_file="Select a file (.AVI, .WMV .MKV, .MP4)."
error_nofiles="No file selected."
case $LANG in
es* )
# Spanish
select_file="Selecciona un archivo (.AVI, .WMV .MKV, .MP4)."
error_nofiles="Ningún archivo seleccionado."
;;
esac
# Mostrar el cuadro de dialogo para seleccionar el fichero:
FILE=`$ZENITY --file-selection --title="$select_file" --file-filter="videos | *.wmv *.avi *.mkv"`
case $? in
0)
DEBUG "\"$FILE\" selected."
#FICHERO=`echo $FILE | tail -1 | awk '{print $3}'` # necesario pq en mi caso añade progname= RGBA=
XWINWRAP $FILE
;;
1)
echo "$error_nofiles"
killall xwinwrap
;;
-1)
echo "$error_nofiles";;
esac
실행할 때마다 원하는 파일이 자동으로 선택되도록 수정하려면 어떻게 해야 하나요?
답변1
68행 주변의 코드를 다음과 같이 변경합니다.
# Mostrar el cuadro de dialogo para seleccionar el fichero:
FILE=`$ZENITY --file-selection --title="$select_file" --file-filter="videos | *.wmv *.avi *.mkv"`
도착하다:
# Mostrar el cuadro de dialogo para seleccionar el fichero:
FILE=your/filename/here
...다음 사례 문을 제거하여 이 모든 것을 줄입니다.
case $? in
0)
DEBUG "\"$FILE\" selected."
#FICHERO=`echo $FILE | tail -1 | awk '{print $3}'` # necesario pq en mi caso añade progname= RGBA=
XWINWRAP $FILE
;;
1)
echo "$error_nofiles"
killall xwinwrap
;;
-1)
echo "$error_nofiles";;
esac
그게 다야:
XWINWRAP $FILE