Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
Witam,
Zachciało mi się (na moją zgubę :D ) napisać skrypt co miałby mi ułatwić przekodowywanie wideo. No właśnie miał ułatwić życie ale mi utrudnił :) , już od prawie tygodnia męczy mnie dlaczego to nie działa :/ . Może trochę kodu i wyjaśnię :)
#!/bin/bash
DEF_FMASK=Testowy*.txt
DEF_BASED=FTP/sda8
TMPF=/tmp/sh_script_temp_file.txt
TMPF1=/tmp/sh_script_temp_file1.txt
# create temp files
echo > $TMPF
echo > $TMPF1
# get basedir
whiptail --inputbox "Enter base directory" 8 40 "$DEF_BASED" 2> $TMPF
BASE_DIR=`cat $TMPF`
# trailing slash
lend=`expr substr $BASE_DIR ${#BASE_DIR} 1`
if [ $lend != / ] ; then
BASE_DIR="$BASE_DIR/"
fi
# get file mask
whiptail --inputbox "Enter file mask" 8 40 "$DEF_FMASK" 2> $TMPF
FILTER_FILES=`cat $TMPF`
if [ -f $TMPF1 ] ; then
rm $TMPF1
fi
#find $BASE_DIR -maxdepth 1 -type f -name "$FILTER_FILES" -printf "%f\n" > $TMPF
dlgopt=""
echo -e "\033[36mWorking dir: '$BASE_DIR' , File filter: '$FILTER_FILES'\033[0m"
for f in $BASE_DIR$FILTER_FILES
do
ff="${f##*/}"
echo -en " File: $ff\n"
# 3 param: [Tag:FileName] [Text:space] [state:off]
dlgopt="$dlgopt '$ff' ' ' off"
done
echo -e "\033[32mSelectable items:\033[0m$dlgopt"
whiptail --separate-output --checklist "Select files" 25 75 17 $dlgopt 2>$TMPF
echo -en "\033[33mSelected items: \033[0m"
cat $TMPF
echo -e "\n----------------- END SCRIPT ------------------------"Problem z jakim się borykam jest to ,że w ostatnim dialogu gdzie powinna być lista plików z możliwością wybrania, jest "sieczka" :
Jeżeli wklepię tą linię z dialogiem normalnie w shellu i dokleję wynik z $dlgopt i tak to uruchomię to działa pięknie, a w skrypcie nie chce :( .
Lista plików to (pliki ze spacjami):
Testowy plik 1 - test B.txt Testowy plik 2 - test A.txt Testowy plik 3 - test AC.txt Testowy plik 4 - test DAC.txt Testowy plik 5 - test AE.txt Testowy plik 7 - test BDZ.txt Testowy plik 8 - test BDG.txt Testowy plik 9 - test HAA.txt
Rozwiązanie zapewnie jest banalnie proste :/ ,ale nie piszę skryptów na co dzień ale od święta ;) i po prostu nie wiem jak to zrobić żeby zadziałało...
Offline






Admin łajza







Witamy na DUG-u,
aby zmienna została prawidłowo przetworzona jako element polecenia musisz skorzystać z eval:
eval "whiptail --separate-output --checklist 'Select files' 25 75 17 $dlgopt 2>$TMPF"
Ostatnio edytowany przez azhag (2011-09-29 22:28:00)
Offline
Strony: 1