Ghaertron Rhokhat Опубликовано 3 июня, 2005 Жалоба Поделиться Опубликовано 3 июня, 2005 Почему bash не воспринимает имена файлов с пробелами, если эти имена берутся из текстового файла? Я совсем запутался. Допустим, есть два файла, #!/bin/bash cat `cat $1` А в другой файл запишем путь к третьему файлу, в имени которого есть пробел. Типа, /home/user/some file.txt и скормим первому. \ не поможет. Кавычки тоже. \ проигнорируется, и bash ругнётся, что, мол, нету ни /home/user/some\ ни file.txt. Что мне делать? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Ineu Опубликовано 3 июня, 2005 Жалоба Поделиться Опубликовано 3 июня, 2005 cat "`cat $1`" Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Ghaertron Rhokhat Опубликовано 6 июня, 2005 Автор Жалоба Поделиться Опубликовано 6 июня, 2005 А у тебя это сработало? У меня чего-то не катит... А вообще, я использую более сложный вариант, где имя файла из файла передаётся одному скрипту, в котором оно передаётся уже следующему... Ужасть! Впору сначала запускать скрипт, который в названии файла пробел на '_' заменяет. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Ineu Опубликовано 6 июня, 2005 Жалоба Поделиться Опубликовано 6 июня, 2005 $ cat "some text" > "some file" $ echo "some file" > cont $ cat > 1.sh #!/bin/bash cat "`cat $1`" ^D $ chmod +x 1.sh $ ./1.sh cont some text Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
BSDobermann Опубликовано 23 июня, 2005 Жалоба Поделиться Опубликовано 23 июня, 2005 Попробуй заменить пробел на %20 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.