LINUX.ORG.RU

warning: unknown escape sequence: '\040'. Как от него избавиться?

 ,


0

1

С помощью вызова execvp запускается процесс типа: xterm /путь/исполняемый_файл. Но в пути может быть каталог с пробелами в именах. Приходится их заменять на \пробел. В итоге получаю такой warning. Есть способ от него избавиться?

Ответ на: комментарий от Radjah

Использовать кавычки, например.

Я их и использовал. Недавно собрал прогу в свежей системе и получил как прмер вот такое:

xterm: No absolute path found for shell: ‘/bin/bitmap’

Это в Debian 12

zloy_starper ★★★
() автор топика
Ответ на: комментарий от zloy_starper

Можешь написать скрипт (у тебя же много «бинарников» с пробелами в полном имени?) который будет делать символические линки на «бинарники» без пробелов.

anonymous
()
Ответ на: комментарий от unDEFER

А зачем? У вас каждый аргумент в отдельном элементе массива, пробелы часть файла в другой аргумент не унесут.

Действительно, это работает.

Но я точно помную, что N лет назад в изначальной версии я не учел, что в путевом иемени могут быть пробелы, и спустя какое-то время напоролся на то, что проги с такими именами не стартуют. Тогда пришлось добавлять кавычки по краям.

Единственное, что приходит сейчас в голову, что может быть сначала я использовал system, а потом решил переделать по-человечески через fork/execvp и заодно, не подумавши, прикрутил кавычки.

zloy_starper ★★★
() автор топика
Ответ на: комментарий от LongLiveUbuntu

Не используй каталоги с пробелами в именах

  • Еду на машине. Остановился на светофоре при помощи тормоза. Но сзади в меня въехал дебил незрячий. Как быть?

  • Как? Не пользуйся тормозами, ёптить.

her_s_gory
()
Ответ на: комментарий от LongLiveUbuntu

Было бы неплохо иметь опцию в ядре, запрещающую их создавать и заменяющую пробел на чего-нибудь в существующих файлах. Ну и прочие непотребства вроде перевода строки, таба и тд.

vbr ★★★★★
()
Ответ на: комментарий от LongLiveUbuntu

Если программа не работает с именами файлов, содержащими пробелы, то это просто говно. Наверное, стоит поблагодарить Microsoft за их «Program Files» и «Documents and Settings» — тогда многим пришлось чинить свой говнокод 😄

anonymous
()

Какой-то ты сомнительный старпёр, скорее скриптуха-джун какой-нибудь. Эникеи с кавычками и «без пробелов» это тоже сильно.

anonymous
()