Оберните URL в одиночные кавычки. Происходит то, что амперсанд интерпретируется оболочкой.
curl 'http://172.16.0.47/index.php?ACT=47&id=6'
Это было в ответе, который Стефан Шазела написал . Это функция оболочки POSIX и не относится к bash
. Он будет упомянут в руководстве к вашей оболочке вместе с описаниями других операторов перенаправления.
1<>file
открывает стандартный вывод, файловый дескриптор 1, как для чтения, так и для записи, и присоединяет его к файлу с именем file
в текущем каталоге.
Прежде чем это произойдет, он уже прикрепил стандартный ввод из того же файла.
Затемtr
будет читать со своего стандартного ввода из file
и заменит все символы новой строки на нулевые символы. Вывод из tr
записывается обратно в тот же файл.
Это работает до тех пор, пока результат команды tr
точно такой же длины, как исходные данные в file
.
Если результат tr
короче исходного файла, вы получите «старые данные» в конце файла:
$ cat file
too many @ here: @@@@
the end
$ tr -s '@' <file 1<>file
$ cat file
too many @ here: @
the end
nd
Обратите внимание, что он не может использовать >
как в
tr '\n' '\0' <file >file
поскольку это усекает file
до того, как tr
сможет прочитать из него(1<>
не усекает выходной файл, но создает его, если он еще не существует ).
Он также не может использовать >>
как в
tr '\n' '\0' <file >>file
, так как это добавит вывод из tr
в конец файла и оставит старые данные на месте.