LINUX.ORG.RU

Глубинный смысл команды на баше: я что-то не знаю про экранирование?

 ,


1

4

Здравствуйте! Наткнулся на сервис пасты http://ix.io/, и кое-что в нём не понял.

Команда для загрузки того, что подаётся на stdin:

curl -F 'f:1=<-' ix.io

Если я правильно понимаю, здесь «<-» обозначает как раз использование содержимого stdin. Но оно - внутри одинарных кавычек, и экранируется, вроде как. Пожалуйста, поясните мне, как всё это работает. Заранее спасибо.

★★

Всё что в одинарных кавычках никак не обрабатывается башем.

anonymous
()

Неправильно понимаешь. Обычные кавычки, никакого stdin. Это что-то связанное с заполнением форм в curl, см. мануалы.

JaneDoe
()

Это обрабатывается не башем, а cürlом

man curl

-F, --form <name=content>
(HTTP) This lets curl emulate a filled-in form in which a user has pressed the submit button. This causes curl to POST data using the Content-Type multipart/form-data according to RFC 2388. This enables uploading of binary files etc. To force the 'content' part to be a file, prefix the file name with an @ sign. To just get the content part from a file, prefix the file name with the symbol <. The difference between @ and < is then that @ makes a file get attached in the post as a file upload, while the < makes a text field and just get the contents for that text field from a file.

To read content from stdin instead of a file, use - as the filename. This goes for both @ and < constructs.

Northsoft ★★
()

Одинарные кавычки экранируют всё. Чтобы экранировать одинарные кавычки используется обратный слеш.

IPR ★★★★★
()

таки крутой ресурс :))

$ alias -g PASTE="curl -F 'f:1=<-' ix.io"
$ echo hi there | PASTE

joy4eg ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.