Это не может быть лучшим решением, но если Вы будете использовать прокси затем, то это будет иметь определенное host:port
так netcat решение со все еще работают, хотя необходимо будет выбрать независимо метаданные прокси для понимания его.
Самый легкий способ сделать это могло бы быть должно использовать любой случайный прокси anonymization там и просто канал весь трафик через netcat
. (Т.е. набор Ваш браузер проксирует к localhost:port
и затем передайте данные к реальному прокси.)
Если Вы хотите иметь локальный прокси затем, SOCKS5 проксирует с ssh -D <port> localhost
вероятно, Ваша самая легкая опция. Очевидно, необходимо сказать браузеру использовать прокси "носков", а не прокси "http".
Так, что-то вроде этого (принятие Вашей локальной машины принимает входящие соединения SSH):
ssh -fN -D 8000 localhost
nc -l 8080 | tee capturefile | nc localhost 8000
Естественно, это будет только работать на одну попытку подключения браузера и затем выходить, и я не попытался передать данные возврата к браузеру, таким образом, Вам будет нужно Ваше полное netcat
решение.
!
символ называют "ударом" и bash
использование это для того, чтобы вспомнить историю команд. Можно использовать его четыре пути:
!<firstFewCharsOfPreviousCommand>
пример:
!rm
Это перейдет к последней команде, которую Вы выполнили, который начался с "комнаты", и выполните все это. Будьте осторожны при повторении потенциально разрушительных команд как комната, поскольку можно неумышленно выполнить другой, чем Вы думали, что будете. Выше иллюстрация только, с помощью удара CTRL-R
обратная поисковая функция является намного более безопасной альтернативой.
!<indexInCommandHistory>
пример:
!433
Индекс является числом, которое появляется рядом с командой, когда Вы работаете history
команда.
!!
Никакой пример, необходимый как вот и все. Это повторно выполняет сразу предыдущую команду (то же как стрелка вверх на большинстве дистрибутивов Linux).
!$
Пример:
# ls -lh /etc/fstab
# vi !$
Другой литерал, когда удар выполняет это, !$
заменяется последним словом (строка символов без пробела)
Как Вы видите с последним, можно даже использовать его в качестве части большей или другой команды. Другой пример этого с !!
:
[root@hypervisor libsceptre]# echo hey
hey
[root@hypervisor libsceptre]# echo !!
echo echo hey <-- printed to stderr so you know what !! was expanded to
echo hey
[root@hypervisor libsceptre]#
Если Вы хотите удар к, по любой причине, просматриваете символ как литерал и не пытаетесь интерпретировать его, Вы помещаете текст в одинарные кавычки:
[root@hypervisor libsceptre]# echo -e "Hello\nWorld!"
-bash: !": event not found
[root@hypervisor libsceptre]# echo -e 'Hello\nWorld!'
Hello
World!
[root@hypervisor libsceptre]#
Причина Ваша команда не работает, состоит в том, потому что она пытается найти последнюю команду, Вы записали, что это началось с двойной кавычки (функциональность, описанная в моем первом примере), и не может найти его.
Если Вы не используете расширение истории (и Вы, очевидно, не делаете), затем, необходимо скорее отключить его, чем изучить странное заключение в кавычки и правила ингибирования.
set +H
или set +o histexpand
получает Вас избавленный от него. Можно проверить, активно ли это echo $-
("H" показывает его являющийся активным), или set -o
(histexpand
).
Необходимо выйти из удара:
echo -e "Hello\nWorld"\!
Примечание: Наличие удара за пределами кавычек является намеренным. Иначе \!
echod.
Особое значение !
все еще активные внутренние двойные кавычки. !
ключевое слово оболочки, которое, например, берет целое число n в качестве аргумента и выполняет команду n'th в Вашей истории оболочки. Используйте одинарные кавычки или выйдите из символа для предотвращения беспорядка.
Можно читать больше о расширении команды истории в man history
.
!
ключевое слово - что-то еще: это - ключевое слово POSIX, используемое для отрицания конвейерного статуса выхода. man history
вряд ли зарегистрирует bash
или любая команда истории оболочки или механизм (хотя в некоторой системе, это может зарегистрировать readline
API libhistory, который подобен bash
с тех пор bash
использует измененную версию readline
). Обратитесь к bash
руководство вместо этого.
– Stéphane Chazelas
05.06.2013, 16:26
echo !!
. Это взяло меня некоторое время для понимания этого так, я думал, что укажу на это. Надежда Вы не возражаете. – terdon♦ 28.05.2013, 01:28