Paste text stored on Clipboard to a variable using pbpaste

I have some text stored on my clipboard. I want to store this text onto a shell script "variable".

So something like:

ls -altr > pbcopy
tmp="something"
pbpaste > $tmp    # this doesn't get the ls command output :(
echo $tmp         # should not print something

Solution 1:

Try

ls | pbcopy
tmp=$(pbpaste)

And don't forget to remove the files called pbcopy and something you created with your first and second line.

Solution 2:

This works for me...

#!/bin/bash

ls -altr | pbcopy
tmp=`pbpaste`
echo $tmp

You needed a pipe rather than redirect on the pbcopy line and you can use = to assign tmp to the result of pbpaste - remembering the backticks around pbpaste, of course, otherwise it will just echo the word "pbpaste"!