You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
1.2 KiB
30 lines
1.2 KiB
2 years ago
|
#!/bin/sh
|
||
|
|
||
|
# This spell copies the text file at the specified path to the clipboard.
|
||
|
# It takes one argument, the path to the text file.
|
||
|
|
||
|
if [ ! -f "$1" ]; then
|
||
|
echo "That file does not exist."
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
# Check if the `pbcopy` command is available (only on macOS). If it is, use it to copy the contents of the file to the clipboard.
|
||
|
if command -v pbcopy >/dev/null 2>&1; then
|
||
|
pbcopy < "$1"
|
||
|
|
||
|
# If `pbcopy` is not available, check if the `xsel` command is available (only on some Unix-based systems). If it is, use it to copy the contents of the file to the clipboard.
|
||
|
elif command -v xsel >/dev/null 2>&1; then
|
||
|
xsel --clipboard --input < "$1"
|
||
|
|
||
|
# If neither `pbcopy` nor `xsel` is available, check if the `xclip` command is available (only on some Unix-based systems). If it is, use it to copy the contents of the file to the clipboard.
|
||
|
elif command -v xclip >/dev/null 2>&1; then
|
||
|
xclip -selection clipboard < "$1"
|
||
|
|
||
|
# If none of the above commands are available, print an error message.
|
||
|
else
|
||
|
echo "Your spell fizzles. No clipboard utilities are available on this system. Please install xsel, xclip, or pbcopy (for mac)" >&2
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
echo "Copied $1 to your clipboard."
|