KSH / bash для создания файлов динамически

Я новичок в ksh и unix, и я учу его: мне нужно следующее: у меня есть имя каталога tmp в этом каталоге на основе FileName Category. Я хотел бы динамически создавать «n» количество файлов.

if [ ! -d tmp ] then mkdir tmp fi TEMPDIR=$HOME/tmp cd $TEMPDIR array_FileName_category[0]="File1" array_FileName_category[1]="File2" array_FileName_category[2]="File3" array_FileName_category[3]="File4" a=0 while [ $a -le 9 ] do ### Creating Source Files ${array_FileName_category[$a]}_file=$TEMPDIR/${array_FileName_category[$a]}_file_$$ a=`expr $a + 1` done 

но это не работает и дает следующие ошибки:

 File Not found with array prefix. and the other error is for zero index of array ${array_FileName_Category[$a]} is not working 

Мой желаемый результат: если есть FileCategory 'Sports', то в каталоге tmp, используя цикл while, он создаст файл с префиксом Sports

  • скрипт задает вывод команды переменной
  • Скрипт для изменения времени изменения файлов и каталогов рекурсивно
  • Выполнить команду после inotifywait установленных часов
  • Запуск сценария bash с php от cron
  • одномерный массив в оболочке, не работающий для индексов больше 08
  • Сервисный скрипт и разделяемые библиотеки
  • Выполнение сценария оболочки с удаленного сервера на локальной машине
  • Как добавить аудиофайл в сценарий оболочки
  • One Solution collect form web for “KSH / bash для создания файлов динамически”

    Поскольку управление массивами в оболочке korn находится далеко от других языков программирования, вы можете попробовать что-то вроде: Вместо этого:

     while [ $a -le 9 ] do ${array_FileName_category[$a]}_file=$TEMPDIR/${array_FileName_category[$a]}_file_$$ a=`expr $a + 1` done 

    попробуй это:

     while [ $a -le 9 ] do b=$array_FileName_category[$a] touch $TEMPDIR/${b}_file_$$ a=`expr $b + 1` done 

    PS И ИМХО для цикла будет лучше для этой цели

    Interesting Posts

    Событие Acpid, отклоненное SELinux, как я могу разрешить событие без открытия дыр в безопасности?

    Вытягивание сообщений журнала для конкретного журнала в журнале systemd?

    Как включить Bluetooth * автоматически при загрузке * для последних чипсетов Intel и Broadcom, полагающихся на btattach?

    как создается UUID раздела

    Как изменить имя приложения emacs из «Emacs» на другое в OSX?

    Bash Mysql Command Замена Login Failure

    Как я могу вернуть конкретный код ошибки в этот момент в моем TCL-скрипте?

    Как работает опция монтирования _netdev в / etc / fstab?

    как читать новости с помощью команды rn

    Добавить другой под-уровень в подменю KDE в действиях / службах дельфинов?

    Как grep файл для отметки времени? Я ищу цифры часа

    Где начинается snmpwalk, если не указано OID?

    Как определить соотношение сторон монитора?

    Добавьте каждые две строки подряд в колонку и разделите ее на предыдущую и напечатайте

    Не удалось установить файловую систему btrfs «open_ctree failed»

    Linux и Unix - лучшая ОС в мире.