Назад | Перейти на главную страницу

Формат имени файла сценария оболочки

Что означает следующий сценарий оболочки? Это ksh, а npfile также является переменной, содержащей имя файла.

fileName=${npFile##/*/}

Он удаляет базу из пути к файлу. В расширении переменной ## означает «взять объект справа от меня, рассматривать его как образец и удалить самое длинное совпадение с ним в переменной слева от меня».

В этом случае шаблон - / * /, поэтому самое длинное совпадение этого шаблона в переменной, которая включает путь и имя файла, будет путем. При его удалении останется только имя файла.

Похоже, это способ записи только для переменных:

filename=`basename $npFile`

Это обрезает "/ * /" (все, от первой косой черты до последней косой черты) с начала строки.

Итак, если npFile = "/ путь / к / файлу" - fineName станет "файлом"