<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Linux Forum &mdash; Меню файловой системы на shell. Помогите, пожалуйста]]></title>
	<link rel="self" href="https://linuxforum.ru/extern.php?action=feed&amp;tid=36788&amp;type=atom" />
	<updated>2014-11-19T11:35:14Z</updated>
	<generator>PunBB</generator>
	<id>https://linuxforum.ru/viewtopic.php?id=36788</id>
		<entry>
			<title type="html"><![CDATA[Меню файловой системы на shell. Помогите, пожалуйста]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=431850#p431850" />
			<content type="html"><![CDATA[<p>Нужно: с помощью утилиты dialog, на языке shell построить меню, которое работает с файловой системой и выполняет функции: удаление, создание,перемещение,переименование файла.<br />Пытаюсь пока реализовать хотя бы одну из функций, но при выполнении команды, например копирования файла вылезает ошибка, что файла такого в каталоге не имеется. И показывается адрес этого файла, который я выбираю, и к этому адресу спереди приплюсованы еще какие-то странные символы типа: &quot;/033[&quot; и так далее, а потом адрес моего файла. Где-то цепляются эти символы. <br />В чем моя ошибка? не так передаю адрес файла?<br /></p><div class="codebox"><pre><code>#!/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 &quot;Please choose a file&quot; --fselect ${FILE} 14 48`

case $? in 
    0)
    tempfile=`tempfile 2&gt;/dev/null` || tempfile=/tmp/test$$
    trap &quot;rm -f $tempfile&quot; 0 1 2 5 15
    $DIALOG --clear --title &quot;File_system&quot; \
        --menu &quot;Choose option:&quot; 20 51 2 \
        &quot;Rename&quot; &quot;&quot; \
        &quot;Delete&quot; &quot;&quot; 2&gt; $tempfile
        retval=$?
        
        choice=`cat $tempfile`
        if test [Rename=$tempfile] ; then
          tempfile=`tempfile 2&gt;/dev/null` || tempfile=/tmp/test$$
          trap &quot;rm -f $tempfile&quot; 0 1 2 5 15
          $DIALOG --title &quot;Ввод данных&quot; --clear \
              --inputbox &quot;Input new filename:&quot; 16 51 2&gt; $tempfile
             retval=$?
             filnam=`cat $tempfile`
             cp -a $FILE $filnam
        fi
    ;;
    1)
    echo &quot;Cancel pressed.&quot; ;;
    255)
    echo &quot;Box closed.&quot;;;
esac</code></pre></div>]]></content>
			<author>
				<name><![CDATA[K_Anastasia]]></name>
				<uri>https://linuxforum.ru/profile.php?id=36251</uri>
			</author>
			<updated>2014-11-19T11:35:14Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=431850#p431850</id>
		</entry>
</feed>
