В чем смысл ## * в сценарии оболочки?

Автор сценария:

text="//ABC/REC/TLC/SC-prod/1f9/20/00000000957481f9-08d035805a5c94bf" echo ${text##*/} 

Здесь, каково значение второй строки в вышеупомянутом 2-строчном скрипте?

One Solution collect form web for “В чем смысл ## * в сценарии оболочки?”

Это замещение параметров и / или расширение . Из ссылки:

 ${var#Pattern} 

Удалите из $ var кратчайшую часть $ Pattern, которая соответствует переднему концу $ var.

 ${var##Pattern} 

Удалить из $ var самую длинную часть $ Pattern, которая соответствует переднему концу $ var.

Таким образом, ${text##*/} удаляет из текста все до последнего / . Например, полезно получить базовое имя каталогов.

(Существует также ${var%Pattern} / ${var%%Pattern} чтобы удалить шаблон, соответствующий заднему концу $var )

  • Получить дату последнего дня последнего месяца в сценарии оболочки
  • запуск цикла for в сценарии оболочки
  • Печатать значения строк из текста с разделителями в Unix
  • Допускаются двойные утверждения «if» в сценариях оболочки
  • Поиск файлов более поздним, чем один день, и копия
  • Команда Bash для разделения одной строки текста на две строки
  • Как создать функцию, которая принимает имя с целым суффиксом в качестве аргумента и увеличивает этот суффикс?
  • Эффективный способ запуска нескольких сценариев оболочки из одного сценария оболочки
  • Этот код не работает. (Попытка объявить значения массива в цикле for и выполнять на них математические функции)
  • Откорректируйте скрипт для получения только определенного выходного отчета rtvscand
  • значение этой строки в службе, созданной с использованием sysintv
  • Linux и Unix - лучшая ОС в мире.