This is how you should push a string in a command's stdin.

command <<< word
Don't do this: echo word | command Using a bash "here strings" and "here documents" look leeter than piping echo into the command. Also prevents subshell execution. Word is also expanded as usual.

12
2012-02-29 03:14:54

11 Alternatives + Submit Alt

  • don't need echo :P


    20
    wall <<< "Broadcast This"
    ioggstream · 2010-12-29 11:07:46 3

  • 17
    echo "dear admin, please ban eribsskog" | wall
    winky · 2010-12-27 09:45:23 1
  • apart from not being generalisable to all shells, `Y <<< X` seems nicer to me than `echo X | Y`, e.g. &lt;&lt;&lt; lol cat; it reads easier, you type less, and it also looks cool


    15
    base64 -d <<< aHR0cDovL3d3dy50d2l0dGVyc2hlZXAuY29tL3Jlc3VsdHMucGhwP3U9Y29tbWFuZGxpbmVmdQo=
    stu · 2009-03-27 23:20:23 33

  • 10
    read -a ARR <<<'world domination now!'; echo ${ARR[2]};
    unefunge · 2010-12-03 16:27:03 2
  • There are two ways to use "here documents" with bash to fill stdin: The following example shows use with the "bc" command. a) Using a delimiter at the end of data: less-than less-than eeooff bc > k=1024 > m=k*k > g=k*m > g > eeooff 1073741824 b) using the "inline" verion with three less-than symbols: less-than less-than less-than "k=1024; m=k*k; g=k*m; g" bc 1073741824 One nice advantage of using the triple less-than version is that the command can easily be recalled from command line history and re-executed. PS: in this "description", I had to use the name "less-than" to represent the less-than symbol because the commandlinefu input text box seems to eat up the real less-than symbols. Odd. Show Sample Output


    9
    <<<"k=1024; m=k*k; g=k*m; g" bc
    mpb · 2009-06-17 10:35:10 5

What Others Think

But they don't look any "leeter" if you don't put the string in quotes. :-/ There is nothing wrong with piping it in with an echo, I don't care what you smell.
deltaray · 480 weeks and 5 days ago
"lol" :)
adeverteuil · 480 weeks and 4 days ago
Be more "leet"! Use FreeBSD like me! :D
Sepero · 374 weeks and 4 days ago

What do you think?

Any thoughts on this command? Does it work on your machine? Can you do the same thing with only 14 characters?

You must be signed in to comment.

What's this?

commandlinefu.com is the place to record those command-line gems that you return to again and again. That way others can gain from your CLI wisdom and you from theirs too. All commands can be commented on, discussed and voted up or down.

Share Your Commands



Stay in the loop…

Follow the Tweets.

Every new command is wrapped in a tweet and posted to Twitter. Following the stream is a great way of staying abreast of the latest commands. For the more discerning, there are Twitter accounts for commands that get a minimum of 3 and 10 votes - that way only the great commands get tweeted.

» http://twitter.com/commandlinefu
» http://twitter.com/commandlinefu3
» http://twitter.com/commandlinefu10

Subscribe to the feeds.

Use your favourite RSS aggregator to stay in touch with the latest commands. There are feeds mirroring the 3 Twitter streams as well as for virtually every other subset (users, tags, functions,…):

Subscribe to the feed for: