Files
dotfiles/utils/.local/bin/copy
2026-02-21 18:10:09 +08:00

34 lines
644 B
Bash
Executable File

#!/usr/bin/env bash
set -eo pipefail
if [[ "$1" == "-h" || "$1" == "--help" ]]; then
cat <<EOF
Usage: $(basename "$0") [-h] [file]
Copy content to system clipboard.
Options:
-h, --help Show this help message
Arguments:
file File to copy (reads from stdin if not specified)
EOF
exit 0
fi
if hash pbcopy 2>/dev/null; then
exec pbcopy
elif hash xclip 2>/dev/null; then
exec xclip -selection clipboard
elif hash putclip 2>/dev/null; then
exec putclip
else
rm -f /tmp/clipboard 2> /dev/null
if [ $# -eq 0 ]; then
cat > /tmp/clipboard
else
cat "$1" > /tmp/clipboard
fi
fi