LINUX.ORG.RU

Передача большого кол-ва параметров


0

0

Есть прога (консольная), которй при старте в качестве параметра нужно передать файл (из командной строки или еще как...). Таких файлов может быть много (20,30, 50.....и т.д.). Как лучше организовать такой ввод, т.е. сделать его более автоматическим, чтоб не приходилось каждый раз вводить имя файла вручную. Сейчас сделал так: все необходимые файлы хранятся в отдельном каталоге, и при старте проги выводится их пронумерованный список, из которого, вводя номер файла, произвожу выбор. Может есть более лучший способ? Ну чтоб велосипед не изобретать.


не совсем понятно, что имеется ввиду, но если есть некоторое правило, по которому передаются эти самые параметры, то написать shell-script, который согласно этому правилу будет вызывать прогу с требуемыми параметрами

ebersen
()
Ответ на: комментарий от ebersen

Есть набор бинарных файлов данных и один из них нужно передать в программу (например ...# ./proga file1.dat). Правил никаких нет, какой файл в данный момент нужен, такой и должен быть выбран. Т.е. нужно создать некий механизм чтоб пользователь при запуске программы мог выбрать необходимый файл (например file157.dat, new_data77.dat и т.д.).

senjy
() автор топика
Ответ на: комментарий от senjy

> Есть набор бинарных файлов данных и один из них нужно передать в программу

Если я правильно понял и файлов столько, сколько помещается на экране, то можно попробовать что-то типа

#!/bin/sh

DATA_DIR=<some dir with files>
ls ${DATA_DIR}
DATA_FILE_NAME=""

until [ -f "${DATA_DIR}/${DATA_FILE_NAME}" ]
do
echo "Please specify data file from the list above"
read DATA_FILE_NAME
done

./prog "${DATA_DIR}/${DATA_FILE_NAME}"

ebersen
()
Ответ на: комментарий от ebersen

чтобы совсем было красиво - man dialog
всё равно програмка явно дилоговая, раз пользователь что-то с клавы вводит.
dialog --stdout --title "Select file" --fselect ./ 0 0


MKuznetsov ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.