Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Передача параметра в файл / 17 сообщений из 17, страница 1 из 1
12.02.2007, 15:51:28
    #34324323
SuSa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача параметра в файл
Всем привет
Стоит такая задача нужно после /до {без понятия когда- как напишу так и будет} запускного файла выдать сообщение с запросом на режим работы запускаемого файла, к примеру :"выбирите режим работы :1,2, 3", после чего следует ввод с клавиатуры 1,2 или 3. Далее как обычно выполняется этот файл, но в соответсвующем режиме
Работаю с консолью , больших заморочек с графическим интрефейсом не надо. просто текстовое сообщение = запрос->ввод -> передача полченного значения в параметр файла, и отроботка файла
...
Рейтинг: 0 / 0
12.02.2007, 16:03:07
    #34324382
--null--
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача параметра в файл
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
#!/bin/sh

read -p "выберите режим работы 1,2, 3: " a
case $a in
 1 ) ---режим 1
;;
 2 ) ---режим 2
;;
 3 ) ---режим 3
;;
*) echo "error" ; exit
esac
...
Рейтинг: 0 / 0
12.02.2007, 20:03:37
    #34325235
JeweL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача параметра в файл
если нужно много раз выполнять команду с разным параметром
Код: plaintext
1.
2.
3.
select i in  1   2   3   4 ; do
echo $i
[ $i -eq  4  ] && break
done
...
Рейтинг: 0 / 0
13.02.2007, 10:07:33
    #34326017
SuSa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача параметра в файл
а по подробнее можно, по поводу первого коментария
у меня просто возникли затруднения
1. Выбор режима вылазит после обработки моего файла , а надо "до"
2. Как в файл передать то значение которое ввели до его обработки с клавиатуры
К примеру в файле есть переменная default=... , что должно быть записано в файле чтобы она получила значение?
За ранее спасибо
...
Рейтинг: 0 / 0
13.02.2007, 10:23:19
    #34326084
--null--
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача параметра в файл
непонятно, что именно хотите сделать.
Что подразумевается под "обработкой файла" ?

"Как в файл передать то значение которое ввели до его обработки с клавиатуры" - это зависит от того, что за файл. Это запускаемая программа? Бинарник или скрипт? Онипринимает параметры или читает стандартный ввод?

в общем, напишите поподробнее, что именно делается.
...
Рейтинг: 0 / 0
13.02.2007, 10:32:10
    #34326132
SuSa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача параметра в файл
Заранее спасибо за такие скорые ответы, прям как в аське общаемя :)
Подробнее..
есть один файл который обрабатывает второй и результат записывает в третий
Запускная строка:
java -jar saxon8.jar -t 1.sch 2.xsl> temp.html -допустим
Так вот в файле 2.xsl есть переменная допустим "а", в нее должно быть записано значение, 1,2 или 3.
Жесткое прописание этого значения не подходит (то есть подходит, но токо на этапе тестирования), поэтому надо это значение выбрать перед запуском запуском обработки, и введенное значение присвоить этой переменной в файле
...
Рейтинг: 0 / 0
13.02.2007, 10:34:57
    #34326146
SuSa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача параметра в файл
Файлы не запускные, имеют текстовую структуру
...
Рейтинг: 0 / 0
13.02.2007, 10:48:50
    #34326202
--null--
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача параметра в файл
Тогда понятно.
надо просто прогонять файл через фильтр, который сделает замену (sed, awk, perl etc)

фильтр < 2.xsl > 2_tmp.xsl
java -jar saxon8.jar -t 1.sch 2_tmp.xsl> temp.html
rm 2_tmp.xsl


это можно ваставить в пример с case, в зависимости от выбора будет выполняться код с тем или иным фильтром.
а какой должен быть фильтр - тут надо тсодержимое файла смотреть
и написать фильтр, чтобы он заменил именно то что надо (вот как раз ту переменную)
...
Рейтинг: 0 / 0
13.02.2007, 11:02:26
    #34326262
SuSa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача параметра в файл
ну к примеру внутри записано
В вверху где то записано a=.. - то значение которое ввели с клавиатуры, должно стоять вместо ".."
Ниже условие плана:
<if test="a=3 "> Делаем это</if>
Структура запускного файла будет выглядеть так?

#!/bin/sh

read -p "выберите режим работы 1,2, 3: " a
case $a in
1) фильтр < 2.xsl > 2_tmp.xsl
java -jar saxon8.jar -t 1.sch 2_tmp.xsl> temp.html
rm 2_tmp.xsl ;;
2) фильтр < 2.xsl > 2_tmp.xsl
java -jar saxon8.jar -t 1.sch 2_tmp.xsl> temp.html
rm 2_tmp.xsl ;;
3) фильтр < 2.xsl > 2_tmp.xsl
java -jar saxon8.jar -t 1.sch 2_tmp.xsl> temp.html
rm 2_tmp.xsl ;;
*) echo "error" ; exit
esac

А как или где идет присвоение значения переменной?
...
Рейтинг: 0 / 0
13.02.2007, 11:17:07
    #34326323
--null--
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача параметра в файл
так в фильтре дело

можно вообще проще , тут выбор в принципе и не нужен исходя из задачи

Код: plaintext
1.
2.
3.
4.
5.
#!/bin/sh
read -p "выберите режим работы 1,2, 3: " a
sed -e "s/a=./a=$a/" <  2 .xsl > 2_tmp.xsl
java -jar saxon8.jar -t  1 .sch 2_tmp.xsl> temp.html
rm 2_tmp.xsl

только надо протестировать что он файл больше не портит
(если где-то встречается a=что-то-там то он заменит первое вхождение)
...
Рейтинг: 0 / 0
13.02.2007, 11:35:53
    #34326425
SuSa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача параметра в файл
Все получилось, спасибо за помощь
...
Рейтинг: 0 / 0
14.02.2007, 22:39:07
    #34331673
Ося
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача параметра в файл
SuSaВсе получилось, спасибо за помощь

ключами надо передавать. а не через read, к тому же read без цикла -- до первого code review
...
Рейтинг: 0 / 0
22.02.2007, 13:59:41
    #34350231
SuSa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача параметра в файл
а если так
java -jar saxon8.jar -t 1.sch 2.xsl phase=1> temp.html
Это запускная строка, phase=1 - параметр и переданное ему значение,
вот сюда бы выбор значения... :), чтоб не '1' а чего введешь
...
Рейтинг: 0 / 0
22.02.2007, 15:23:43
    #34350556
--null--
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача параметра в файл
точно так же, через переменную
про ключи - происоединяюсь.
...
Рейтинг: 0 / 0
22.02.2007, 21:45:42
    #34351350
SuSa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача параметра в файл
Блин, че за ключи , хоть бы пример показали
> точно так же, через переменную
как это? ну чего трудно написать чтоли?
...
Рейтинг: 0 / 0
22.02.2007, 22:43:41
    #34351418
--null--
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача параметра в файл
че-нибудь такое

option=$1
java -jar saxon8.jar -t 1.sch 2.xsl phase=$option > temp.html
...
Рейтинг: 0 / 0
23.02.2007, 00:43:15
    #34351500
Ося
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача параметра в файл
SuSaБлин, че за ключи , хоть бы пример показали
> точно так же, через переменную
как это? ну чего трудно написать чтоли?


неужели это так раздражает?
смотрите какой чудесный ман
в кратце, вам нужен цикл по $1, shift и case
...
Рейтинг: 0 / 0
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Передача параметра в файл / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]