path
в запросе есть всегда.map $uri $clean_uri {
default $uri$is_args$args;
"~(?'_'.+)/$" $_$is_args$args;
}
server {
if ($request_uri != $clean_uri) {
return 302 $clean_uri;
}
}
$ curl -s -o /dev/null -w '%{http_code}: %{redirect_url}\n' http://localhost:7777///foo
302: http://localhost:7777/foo
$ curl -s -o /dev/null -w '%{http_code}: %{redirect_url}\n' http://localhost:7777/foo//bar/
302: http://localhost:7777/foo/bar
$ curl -s -o /dev/null -w '%{http_code}: %{redirect_url}\n' http://localhost:7777///foo?q=42
302: http://localhost:7777/foo?q=42
$ curl -s -o /dev/null -w '%{http_code}: %{redirect_url}\n' http://localhost:7777/foo//bar/?q=42
302: http://localhost:7777/foo/bar?q=42
$ curl -s -o /dev/null -w '%{http_code}: %{redirect_url}\n' http://localhost:7777/foo
200:
$ curl -s -o /dev/null -w '%{http_code}: %{redirect_url}\n' http://localhost:7777/foo?q=42
200:
[ $(( ( $(cat /sys/class/net/eth0/statistics/rx_bytes) - $(sleep 10; cat /sys/class/net/eth0/statistics/rx_bytes) )/-10 )) -lt 5000 ] && echo need restart
захожу через putty по SSH и гружу по
mysql -u****** -p****** ******* < *******.sql
@echo off
set "path_bin_1=d:\TEMP\test.exe"
call :testname
echo "%path_bin_1%"
echo "%filename%"
pause
exit
REM тело функции располагаем в конце после оператора exit чтобы предотвратить выполнение в потоке.
:testname
echo "%path_bin_1%"
for /F "delims=" %%a in ("%path_bin_1%") do (
set file=%%~fa
set filepath=%%~dpa
set filename=%%~nxa
)
exit /B
Кеширующий сервер висит на порту 53 и все неизвестные запросы отправляет на сервера forwarders, а все запросы к основной зоне - на авторитативный сервер на порту 5353В том и проблема, что на внешний запрос у вас отвечает не авторитативный сервер, а кеширующий. Ответ от кеширующего не может считаться авторитативным.
man bash
--
signals the end of options and disables further option processing. Any arguments after the -- are treated as filenames and arguments. An argument of - is equivalent to --
-v
с помощью grep в текстовом файле: grep -- -v file.txt
, если не добавить --
, то grep воспримет -v
, как свою опцию, а не подстроку для поиска.for /F "skip=2 tokens=2*" %j in ('reg query "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Startup"') do set STARTUP="%k"
for /F "tokens=3*" %j in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Common Startup"') do set COMMONSTARTUP="%k"
cd %STARTUP%
cd %COMMONSTARTUP%
^
. Если после него будет идти пустая строка, то в команду будет вставлен перевод строки.echo ^
Hello,^
world!
Hello, world!
setlocal enabledelayedexpansion
set A=^
Hello,^
world!
echo !A!
^
специальные символы (его самого, символы перенаправления, соединения команд, закрывающую скобку (внутри составных команд), желательно, кавычку…), дважды экранировать восклицательные знаки при отложенном раскрытии переменных, если текст между ними может быть воспринят как имя переменной… В общем, упражняйтесь.:: Определяет переменную ВОЗВРАТ КАРЕТКИ (используется как !CR!)
for /f %%a in ('copy /Z "%~dpf0" nul') do set "CR=%%a"
:: Определяет переменную ПЕРЕВОД СТРОКИ (используется как !LF!)
set LF=^
:: Две пустые строки сверху важны - не удалять!