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

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 И ИМХО для цикла будет лучше для этой цели

  • Что означает «$ {- # * i}"! = "$ -" означает?
  • Как запустить команду SSH для установки StrictHostKeyChecking = no?
  • чтобы проверить, действительно ли ввод действителен для ввода программ C
  • Как передать хеш md5 в оболочку
  • Что означает $ {1: 0: 2} в этом контексте?
  • Проверка ввода до выполнения цикла «for»
  • Отображение командной строки (PS1) для набора каталогов
  • Код возврата lftp
  • Как выполнить удаленный сценарий с помощью «экранов»?
  • Я получаю ошибку «команда не найдена», хотя файл сценария отображается как «ls»,
  • Использование шаблона в пути к каталогу
  • Linux и Unix - лучшая ОС в мире.