Пробел в консоли.
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум SAMBA (2004)
- Форум 2 sheriff . где нужно пропиать image = kernel_name root = /dev/your_root_partition (2001)
- Форум kernel panic (2004)
- Форум sshfs: работа с диском от обычных смертных (2011)
- Форум OpenBox на Arch’e не хочет использовать ~/.config/openbox/ (2010)
- Форум Как смонтировать диск для пользователя (2015)
- Форум Samba (2007)
- Форум Структура папок и управление файлами (2004)
- Форум Два простых вопроса (2005)
- Форум как прописать вход в домен чтоб автоматически при загрузке линуха он входил в домен подо мной? (2012)
Форум русскоязычного сообщества Ubuntu
Страница сгенерирована за 0.045 секунд. Запросов: 23.
- Сайт
- Об Ubuntu
- Скачать Ubuntu
- Семейство Ubuntu
- Новости
- Форум
- Помощь
- Правила
- Документация
- Пользовательская документация
- Официальная документация
- Семейство Ubuntu
- Материалы для загрузки
- Совместимость с оборудованием
- RSS лента
- Сообщество
- Наши проекты
- Местные сообщества
- Перевод Ubuntu
- Тестирование
- RSS лента
© 2012 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.
Как поставить пробел в командной строке
Из программы обращаюсь к командной строке, и в общении возможны пробелы в пути файлов, чем заменить эти пробелы чтобы командная строка их приняла? Пробовал %20, не прокатило.
| Crystallon |
| Посмотреть профиль |
| Найти ещё сообщения от Crystallon |
Trust no one.
Регистрация: 07.04.2009
Сообщений: 6,526
Пути в двойные кавычки.
cd "D:/Documents and settings"
SQUARY PROJECT — НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK — УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
| Alex Cones |
| Посмотреть профиль |
| Найти ещё сообщения от Alex Cones |
Пробелы в командной строке Bash
Если аргумент какой-либо команды содержит пробелы (или знаки табуляции) то Bash интерпретирует их как множественные аргументы. Вот, например, команда echo:
$ echo Аргумент содержит пробелы Аргумент содержит пробелы
Но ошибкой будет считать, что команда такая «умная», что в точности воспроизводит введенный текст. Это не так:
$ echo Аргумент содержит пробелы Аргумент содержит пробелы
На самом деле команда интерпретирует любое количество пробелов (и знаков табуляции) как один пробел; а пробел как разделитель между аргументами. Так как по умолчанию команда echo печатает стандартный вывод в одну строку, то и результат будет одинаковым с любым количеством пробелов.
Другие команды по умолчанию печатают свой вывод обработки каждого аргумента с новой строки, например команда printf:
$ printf '%s\n' Аргумент содержит пробелы Аргумент содержит пробелы
Тут уж сразу видно, что команда обрабатывала не фразу, а каждое слово как отдельный аргумент.
Как же заставить команду включить пробелы (и знаки табуляции) в свой стандартный вывод? Тут возможны два пути:
1. Маскировка при помощи обратного слэша (\). По-английски называется Escaping, а управляющие символы, начинающиеся с обратного слэша, Escapе-символами (само слово «escapе» переводится как исчезать, скрываться). Вот пример маскировки пробела:
$ echo Аргумент\ \ \ \ содержит\ \ \ \ пробелы Аргумент содержит пробелы $ printf '%s\n' Аргумент\ \ \ содержит\ \ \ пробелы Аргумент содержит пробелы
Механизм такой маскировки прост: при помощи специального символа, обратного слэша, мы лишили пробела его значения как разделителя между аргументами, и теперь он интерпретируется Bash только как часть текста.
2. Закавычивание. Если заключить аргумент в кавычки, двойные или одинарные, то он всегда будет интерпретирован в качестве единого выражения. Например:
$ echo 'Кавычки спасают пробелы' Кавычки спасают пробелы
Такой же механизм работает и с командами, принимающими имена файлов в качестве аргумента. Имена файлов ведь тоже могут содержать пробелы; для примера создадим файл по имени text file и попытаемся просмотреть его при помощи команды cat:
$ cat text file cat: text: Нет такого файла или каталога cat: file: Нет такого файла или каталога
$ cat text\ file You read text file
$ cat 'text file' You read text file
А интересно, справится ли с этой задачей автозавершение?
$ cat te (TAB) -----> $ cat text\ file
Автозавершение выбрало вариант маскировки. Это не удивительно, ведь маскировать приходится не только пробелы, но и управляющие символы, с которыми кавычки не справятся.
Пока мы рассматривали только пробелы внутри аргумента команды. Лишние же пробелы перед командой, между командой и опциями, между опцией и аргументом, как правило, игноририруются. Если только иное поведение специально не оговорено в синтаксисе команды.
$ cat -b text\ file 1 2 You read text file
И, наконец, пробел, поставленный вместо аргумента многих команд, заставляет их принимать стандартный ввод. Например:
$ cat -b (Enter) Тут и сказке (Enter) конец. (Enter)(CTRL+d) 1 Тут и сказке 2 конец.