Linux & Shell

Экранирование shellс сохранением границ аргументов

Выберите оболочку и введите исходные значения. Имя программы можно указать отдельно для предварительного просмотра вызова.

Экранирование shell

Исходные значения аргументов

Аргументы в кавычках / просмотр команды

Обработка в этом браузере. Команды не выполняются, ввод не отправляется.

Параметры кавычек

Введите одно имя или путь без опций; оставьте поле пустым для вывода только аргументов.

Массив принимает только строки, сохраняя пустые значения и внутренние переводы строк.

Лимит: 65 536 символов для ввода и команды вместе; 1 000 аргументов.

Только один уровень оболочки. CMD, вложенные команды и нативный разбор Windows не охвачены.

Создано аргументов: 1. Просмотр не выполнялся.

Экранирование shell нужно, когда в пути есть пробелы, а в имени — апостроф. То, что выглядело одним значением, в терминале может разделиться на несколько аргументов или вызвать подстановку переменной.

Сначала задайте границы значений. Одиночный режим считает всё содержимое поля одним аргументом. Массив строк JSON явно отделяет элементы, сохраняя пустые строки и переводы строк внутри значения.

Зачем нужно экранирование shell

Пустое значение сохраняет место

Экранирование shell оставляет два аргумента для ["", "two words"]. Первый пуст, а пробел второго принадлежит его значению. Пробелы по краям не обрезаются, элементы не сортируются и дубликаты не удаляются.

Три карточки значений сохраняют порядок и отдельные рамки, включая пустую карточку.

Один текст, разные правила

POSIX закрывает одинарные кавычки перед вставкой буквального апострофа и затем открывает их снова. PowerShell удваивает символ. Смена оболочки меняет только синтаксис результата, сохраняя исходный текст и типографские кавычки.

Одна входная карточка расходится по двум путям с разными структурами кавычек.

Сначала границы, затем кавычки

01

Различайте пустое и отсутствующее

[] означает ноль аргументов, а [""] — один пустой. В одиночном режиме пустое поле можно обработать вручную. Очистка отменяет ожидающее преобразование и удаляет результат.

  • Последовательность \n внутри строки JSON задаёт перевод строки в одном аргументе.
02

Отделяйте программу от параметров

В поле команды указывается одно имя или путь. Опции и значения помещаются в массив аргументов. Для вызова пути в кавычках PowerShell использует &, который добавляется в просмотр автоматически.

  • Пробелы в поле команды считаются частью пути и не отделяют опции.
03

Проверьте количество и актуальность

Автоматический режим ждёт 350 мс после правки. Отключите его для кнопки генерации или нажмите Ctrl/Cmd + Enter. Любое изменение сразу блокирует экспорт устаревшего результата.

  • Пример и очистка сначала показывают замену; отмена восстанавливает и ввод, и вывод.

Буквальные значения для вызова

Аргументы Bash и POSIX

Одинарные кавычки сохраняют знаки доллара, шаблоны имён, точки с запятой и обратные кавычки как текст. Содержимое, похожее на подстановку команды, остаётся значением. Результат предназначен для одного уровня оболочки.

Строки PowerShell

Удваиваются ASCII-апостроф и четыре символа U+2018–U+201B, каждый отдельно. Обратные косые черты сохраняются. Путь Windows вводится как есть в одиночном режиме; для массива нужна запись JSON.

Полный просмотр и экспорт

Экранированные элементы соединяются пробелами, а их количество показывается в статусе. Необязательное имя программы завершает вызов. Копирование и TXT содержат весь результат; пустой массив без команды не создаёт текста.

Границы применимости результата

Только один уровень оболочки
CMD, пакетные файлы, fish, .env и вложенный SSH не поддерживаются. Windows PowerShell 5.1, режим Legacy и нативные программы могут разбирать аргументы повторно. Вывод PowerShell описывает только строковые литералы языка.
Только исходные значения
Нет разбора готовой команды, снятия экранирования, подстановки переменных, импорта файла или URL. Массив создаёт последовательность аргументов, а не объявление переменной-массива Bash.
Действие команды не проверяется
Инструмент не выполняет просмотр и не проверяет наличие программы. Значение --delete может остаться опцией и после экранирования. Разделитель -- не добавляется автоматически: это зависит от интерфейса программы.
Ограничения длины и типов
Ввод и команда вместе ограничены 65 536 единицами UTF-16, массив — 1 000 строками. Числа, логические значения, null, объекты и вложенные массивы отклоняются без неявного преобразования.
Без незаметной потери символов
NUL и непарные суррогаты Unicode запрещены. Пробелы, табуляция и переводы строк сохраняются, поэтому вывод может занимать несколько строк. Ошибка элемента показывает его начало и номер аргумента.

Вопросы про экранирование shell

Как вставить одинарную кавычку в строку Bash в одинарных кавычках?

В POSIX нужно закрыть одинарные кавычки, вставить экранированный апостроф снаружи и снова открыть кавычки. O'Brien превращается в 'O'\''Brien'. Выбранный режим делает это для каждого апострофа.

Чем отличаются одинарные и двойные кавычки в Bash?

Одинарные кавычки сохраняют буквальное значение. Двойные кавычки допускают подстановки вроде $HOME и $(...). Здесь создаётся буквальная запись; нужную подстановку следует задавать в самом скрипте.

Как передать аргумент с пробелами?

Заключайте каждый аргумент отдельно, а не всю командную строку целиком. Для двух значений с пробелами введите две строки JSON в режиме массива и проверьте, что счётчик показывает два аргумента.

Почему при разделении строки пропадают пустые значения?

Разделение по пробелам или разделителю может отбросить пустые поля. ["a", "", "b"] сохраняет здесь три аргумента. [] означает ноль, а [""] — один пустой аргумент.

Можно ли использовать одинарную кавычку внутри строки PowerShell?

Да. PowerShell удваивает внутренний апостроф: 'don''t'. Типографские одинарные кавычки, распознаваемые анализатором, тоже удваиваются. Это не заменяет правила CMD или передачу аргументов нативным программам.

Неожиданный результат?

Проверьте значения перед вызовом

Экранирование shell подготавливает запись для выбранной оболочки. Сверьте число аргументов и скопируйте актуальный результат после просмотра.