Используя Делают $ (dir) или $ (notdir) на пути с пробелами

Это:

https://github.com/jbtule/cdto#cd-to

Это - небольшое приложение, которое Вы перетаскиваете на панель инструментов Finder, значок вписывается очень приятно. Это работает с Терминалом, xterm (под X11), iterm.

5
задан Chris Conway 27 July 2009 в 18:47
поделиться

2 ответа

Функция $ (notdir) в GNU Make принимает список аргументов, разделенных пробелами. Некоторые функции поддерживают экранирование пробелов с помощью \\ , но $ (notdir) не входит в их число.

Это должно работать:

s? = $(subst $(empty) ,?,$1)
?s = $(subst ?, ,$1)
notdirx = $(call ?s,$(notdir $(call s?,$1)))

$(TARGET):
    touch '$(call notdirx,$@)'

Это определяет "безопасную для космоса" версию notdir под названием notdirx . Это довольно просто: s? сначала превращает все пробелы в вопросительные знаки (надеясь, что они не могут присутствовать в именах файлов), а ? S преобразует обратно.

9
ответ дан 14 December 2019 в 01:13
поделиться

Это просто снимок в темноте:

TOP='"/home/chris/src/tests/make/space test"'
0
ответ дан 14 December 2019 в 01:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: