K_Anastasia
Зарегистрирован: 19.11.2014 Сообщения: 1 Откуда: Обнинск
|
Добавлено: Ср Ноя 19 2014 14:02 Заголовок сообщения: Меню файловой системы на shell. Помогите, пожалуйста! |
|
|
Задача такая: с помощью утилиты dialog, на языке shell построить меню, которое работает с файловой системой и выполняет функции: удаление, создание,перемещение,переименование файла.
Пытаюсь пока реализовать хотя бы одну из функций, но при выполнении команды, например копирования файла вылезает ошибка, что файла такого в каталоге не имеется. И показывается адрес этого файла, который я выбираю, и к этому адресу спереди приплюсованы еще какие-то странные символы типа: "/033[" и так далее, а потом адрес моего файла. Где-то цепляются эти символы.
В чем моя ошибка? не так передаю адрес файла?
вот код:
Код: |
#!/bin/bash
DIALOG=${DIALOG=dialog}
HOME=/home/fzo
FILE=$HOME
for n in .cshrc .profile .bashrc
do
if test -f $HOME/$n ; then
FILE=$HOME/$n
break
fi
done
FILE=`$DIALOG --stdout --title "Please choose a file" --fselect ${FILE} 14 48`
case $? in
0)
tempfile=`tempfile 2>/dev/null` || tempfile=/tmp/test$$
trap "rm -f $tempfile" 0 1 2 5 15
$DIALOG --clear --title "File_system" \
--menu "Choose option:" 20 51 2 \
"Rename" "" \
"Delete" "" 2> $tempfile
retval=$?
choice=`cat $tempfile`
if test [Rename=$tempfile] ; then
tempfile=`tempfile 2>/dev/null` || tempfile=/tmp/test$$
trap "rm -f $tempfile" 0 1 2 5 15
$DIALOG --title "Ввод данных" --clear \
--inputbox "Input new filename:" 16 51 2> $tempfile
retval=$?
filnam=`cat $tempfile`
cp -a $FILE $filnam
fi
;;
1)
echo "Cancel pressed." ;;
255)
echo "Box closed.";;
esac
|
|
|