какие браузеры не поддерживают перенаправление?

Меня всегда удивляло, что в папке / bin находится программа [.

Вы правы, что удивляетесь. Это одна из редких команд POSIX с нулевой утилитой (: ), которая не соблюдает соглашение о разрешенных символах командного файла (переносимый набор символов имени файла).

Это то, что вызывается, когда мы делаем что-то вроде: if [something] ?

Точно, но его можно использовать и без if .

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

Он ничего не делает видимым, но на самом деле он делает то же самое, что и при использовании с if , то есть устанавливает статус выхода на 0 (истина) или что-нибудь еще (ложь) в зависимости от того, что вы поместили внутрь скобки.Это (по какой-то причине) то же поведение, что и команда test ; единственная разница в том, что он ищет концовку ] . Подробнее см. man test .

Излишне говорить, что обычный способ получения справки по программе не работает, т.е. ни man [, ни [--help ] не работают.

Это зависит от вашей операционной системы. man [ определенно работает для меня в паре основных дистрибутивов Gnu / Linux, но не в Solaris.

[--help может работать или нет, в зависимости от реализации, поскольку синтаксис в любом случае нарушается, отсутствует окончание ] . Более того, стандарт POSIX для test / [, команда явно исключает все параметры, включая завершение параметров - , поэтому оба [--help] и test --help должны возвращать true и молчать по умолчанию. Обратите внимание, что то, что вы поместили в скобки или после [ и которые выглядят как параметры (например, -f file , -n string и т. Д.), Не являются варианты , но операнды .

Все современные интерпретаторы оболочки в стиле Борна (например, bash , ksh , dash и zsh и др.) Реализуют test / [ внутренне как встроенная утилита, поэтому при их использовании правильная страница руководства, на которую можно ссылаться, может относиться к оболочке, а не к test .

До Unix System III (1981) оболочка Bourne не реализовывала утилиту test как встроенную, поэтому была доступна только реализация внешней двоичной команды. До Unix System III не было команды [ (внутренней или встроенной), поэтому, например, в Unix версии 7 вам нужно было ввести:

if test something ; then
…

вместо:

if [ something ] ; then
…
2
01.09.2017, 17:18
1 ответ

Эта статья может вас заинтересовать. Такие опции есть как в Firefox, так и в Chrome, но найти их непросто. Я думаю, что Edge и Safari могут сделать это, но я не уверен. В Opera должна быть опция, аналогичная Chrome.

В зависимости от сайта вы также можете остановить перенаправления, отключив JavaScript (Существует множество расширений для Chrome и Firefox, которые позволяют вам делать это -для каждого сайта ).

0
27.01.2020, 22:36

Теги

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