pb_cli
is a no bullshit pb client.
An install script is provided for convenience.
$ curl -Lo- "https://raw.githubusercontent.com/ptpb/pb_cli/master/install.sh" | sudo bash
This is just a handful of trivial commands to install pb
in
/usr/local/bin
. Feel free to copy-paste instead if you wish.
Dependencies are not considered during installation; you need to make these exist on your own.
curl
bash>4.0
jq
capture
(optional, for screen capture)maim
(optional, for screenshots)xclip
(optional, for clipboard manipulation)
Maximum simple:
$ pb <<< 'hello world'
https://ptpb.pw/DtUR
The url is provided on stdout to make pb
easy to use in pipelines/scripting.
If you don't have the PhD in bash like #bash
presumes, this might not be
obvious to you:
pb < /path/to/my/file
Create a "private" paste (disables short url).
pb private
This uses maim
to create a screenshot. You can either click-drag a bounding
box for a region, or click a window for the entire window.
pb png
This uses capture
to create a screen
capture, convert to webm or gif, and upload to pb. Usage is very similar to pb png
--both use slop for window/region selection.
pb webm
pb gif
When you are done, press q
once to stop recording.
When set, by default, PB_CLIPBOARD
will put the paste url in the X11 primary
buffer. You can modify this behavior by setting PB_CLIPBOARD_TOOL
, possibly with additional arguments.
PB_CLIPBOARD=1 pb …
For usability, you'll likely want to export this variable in your shell rc file if this is a feature you want to use regularly.
If you have more complex scripting needs (like capturing the uuid for
updates/deletes), you can use the PB_JSON
environment variables to get the raw
json:
$ PB_JSON='.' pb <<< test
{
"status": "already exists",
"url": "https://ptpb.pw/f5-D",
"short": "f5-D",
"size": 5,
"long": "AE4SQ70ixm52wrqe3cH5E5Tlf5-D",
"date": "2015-02-28T14:45:23.444000+00:00",
"digest": "4e1243bd22c66e76c2ba9eddc1f91394e57f9f83"
}
So, for example:
$ eval "$(PB_JSON='.' pb <<< test | jq -r '@sh "url=\(.url) short=\(.short)"')"
$ echo $short
f5-D
$ echo $url
https://ptpb.pw/f5-D