Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.10.2013, 06:09   #1
Антон Лысенко
Форумчанин
 
Регистрация: 15.12.2010
Сообщений: 181
По умолчанию Linux. Shell. Коммнадные фалы.

Доброго времени суток!
У меня есть такое задание: Создать командый файл в котором будет создаваться 5 файлов. Имена файлоа вводить с клавы. Сделать проверку что бы имена не повторялись.

Вот мой код. Он не работает. Я знаю что он полностью не правильный. Это только наброски.
Код:
#!/bin/bash
#Лабораторная работа №3
echo "Введите имя файла #1"
read name1
>$name1
for i in $name2 $name3 $name4 $name5
do
k=1
echo "Введите имя файла"
read i
until [$name1=$i]
	do
	if [$name1=$i]
		then echo "Такое имя уже есть. Введите другое"
		     read name2
	else
		cat>$name2
		break
	fi
	done
done
Проблемы у меня начались ещё сначала.
пробовал содать файл так cat>$name1. Но тогда я должен был вводить данные в файл. После ввода и нажатия Сtrl+D процесс завершалься без возможности ввода след. имен. (Если вы знаете как завершить ввод данных без выхода полностью из процесса тогда я использую этот вариант) Поэтому я решил сделать так >$name1 - перенаправил поток, так как файла не было с именем $name1, оно создало мне нужный пустой файл. Но здесь так же програма завершалась и код не выволнялся дальше.
Так же прошу подсказать как мне сравнивать эти имена в файлах. Я думаю что это надо делать как-то в цикле. Но то что у меня написано, то полный бред.
Буду рад любым предложениям, которые мне помогут в выполнении этой задачи.
Антон Лысенко вне форума Ответить с цитированием
Старый 14.10.2013, 09:45   #2
simples
Форумчанин
 
Регистрация: 03.10.2013
Сообщений: 142
По умолчанию

Вторая ссылка в гугле по "bash create file" показала что для создания пустого файла использовать "touch имя_файла" удобнее.
simples вне форума Ответить с цитированием
Старый 14.10.2013, 10:57   #3
Антон Лысенко
Форумчанин
 
Регистрация: 15.12.2010
Сообщений: 181
По умолчанию

Цитата:
Сообщение от simples Посмотреть сообщение
Вторая ссылка в гугле по "bash create file" показала что для создания пустого файла использовать "touch имя_файла" удобнее.
Да, спасибо. Я пропускал сайты на английском. Но как оказалось проблема была не в создании файла. Программа дальше работала. Просто эта работа никак не отображалась. После создания файла вставил echo lalallal, и lalallal вывелось на экран после чего работа прекратилась.
Антон Лысенко вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Фалы,паскаль-Найти самое большое число в файле.Если оно чётное вывести его повторно в конец файла Vika2112 Помощь студентам 0 13.12.2012 08:14
Строки и фалы(зачетные) я и есть Артём Паскаль, Turbo Pascal, PascalABC.NET 0 15.12.2011 06:58
На компе Win 7 + Linux. Как переустановить Linux? ssdm Windows 1 14.10.2011 17:54
Программирование в BASH - SHELL Linux Necare Помощь студентам 1 02.04.2011 11:25