cd ~/bin #assuming you have a personal bin folder in your $PATH
curl -o dpaste http://dpaste.com/92000/plain/
chmod +s dpaste
If you look at the title for that dpaste "paste" you'll see an example of how to use it:
There are a lot of really cool things happening there.
- The tool published itself
- It used my OS username
- It captured the entire command line for the title
- The command included a Unix pipe
- The command included process substitution
And to top it all off I landed a really cool, rounded paste number (92000).
Just in case that paste disappears I will also place a copy of the code here:
# In order for the default title to capture the complete command, a shebang (#!) must not be used
usage(){
cat < < EOF
dpaste - a command line tool for posting to dpaste.com
Usage:
dpaste [-h] [-l language] [-t title|-u] [-p poster|-a] [file]
Summary:
dpaste accepts a stdin pipe and posts the content to http://dpaste.com
with the command (complete with pipes) as the title and your username as
the name. If you pass a file it will be sent instead of stdin and the
filename will be used as the title. The following flags are available:
-h
-H Hold until nobody has looked at it for 180 days.
-l language
Specify: Python|PythonConsole|Sql|DjangoTemplate|JScript|
Css|Xml|Diff|Ruby|Rhtml|Haskell|Apache|Bash
-t title
Override the default title.
-u Paste untitled.
-p poster
Override the default Name/Email.
-a Paste anonymously.
-- Denote the end of flags. Needed if filename starts with a "-".
Acknowledgments:
Copyright (c) 2008 Richard Bronosky
Offered under the terms of the MIT License.
http://www.opensource.org/licenses/mit-license.php
Created while employed by Atlanta Journal-Constitution
EOF
}
title=$(history|tail -n1|tr "\t" "#"|sed "s/[^#]*#//")
poster=$(id -un);
while [[ $1 == -* ]]; do
case "$1" in
-h|--help|-\?) usage; exit 0;;
-H) hold="-F hold=on"; shift;;
-l) language=$2; shift 2;;
-t) title=$2; shift 2;;
-u) unset title; shift;;
-p) poster=$2; shift 2;;
-a) unset poster; shift;;
--) shift; break;;
esac
done
if [[ -n "$1" ]]; then
content=$1
title=$1
else
content=/dev/stdin
fi
url=$(curl -s -L -o /dev/null -w "%{url_effective}" \
-F "content=<$content" \
-F "language=$language" \
-F "title=$title" \
-F "poster=$poster" \
$hold http://dpaste.com
)
# copy the url to the clipboard if you are using a Mac
$(which pbcopy > /dev/null 2>1) && echo -n "$url" | pbcopy
echo "$url"
# vim:ft=sh:tw=78