fix: Copy pipe usage

This commit is contained in:
Nathan Woodburn 2023-10-13 11:39:06 +11:00
parent 98507e35b7
commit 472cad1edb
Signed by: nathanwoodburn
GPG Key ID: 203B000478AD0EF1

24
copy
View File

@ -1,32 +1,28 @@
#!/bin/bash
# Copy file contents to clipboard
# Copy file contents or command output to clipboard
# Usage: copy <file>
# ... | copy <file_name>
# ... | copy
#
# Author: Nathan Woodburn
copy() {
if [ $# -eq 0 ]; then
echo "No arguments specified."
echo "Usage: copy <file>"
return 1
fi
if tty -s; then
file="$1"
if [ ! -e "$file" ]; then
if [ -n "$file" ] && [ ! -e "$file" ]; then
echo "$file: No such file or directory" >&2
return 1
fi
xclip -selection clipboard < "$file"
else
file_name="$1"
xclip -selection clipboard < "$file_name"
xclip -selection clipboard
fi
}
# Call the copy function with the provided arguments
copy "$@"
# Call the copy function with the provided arguments or from a pipe
if [ -t 0 ]; then
copy "$@"
else
copy
fi