Câu trả lời:
Sử dụng một cái gì đó như:
someCommand | clip
Điều đó sẽ dẫn kết quả vào clipboard của windows
Tôi đang sử dụng trình vỏ lệnh Git Bash cho Windows và như ai đó đã lưu ý ở trên, việc sử dụng clip
rất khó chịu, bởi vì nó cũng sao chép trở lại vận chuyển ở cuối đầu ra của bất kỳ lệnh nào. Vì vậy, tôi đã viết chức năng này để giải quyết nó:
function cpy {
while read data; do # reads data piped in to cpy
echo "$data" | cat > /dev/clipboard # echos the data and writes that to /dev/clipboard
done
tr -d '\n' < /dev/clipboard > /dev/clipboard # removes new lines from the clipboard
}
Ví dụ:
$ pwd | cpy # copies directory path
$ git branch | cpy # copies current branch of git repo to clipboard
tr
và vẫn sử dụng clip
, tức là:pwd | tr -d \r\n | clip
Chỉ để tham khảo, tôi đã phải sao chép khóa công khai của mình trực tiếp sau khi Bitbucket đưa ra cảnh báo khóa xấu. Tôi đã có thể sử dụng @soandos trả lời như vậy:
cat ~/.ssh/id_rsa.pub | clip
để sao chép khóa của tôi trực tiếp từ dòng lệnh trên PC. (vì dòng lệnh hút so với thiết bị đầu cuối)
Trong PowerShell, chỉ cần đưa văn bản vào Set-Clipboard
. Để gõ nhanh, bạn có thể sử dụng bí danh scb
. Điều này không thêm một ngắt dòng như clip
tiện ích nào.
Ví dụ, lệnh này đặt nội dung của myfile.txt
vào bảng tạm:
gc .\myfile.txt | scb
Lưu ý rằng đối với các đối tượng đại diện cho các đối tượng hệ thống tệp, Set-Clipboard
sẽ sao chép đối tượng theo nghĩa tương tự như Explorer thực hiện khi bạn Ctrl + C một tệp. Nếu đó không phải là những gì bạn muốn, hãy đưa đối tượng qua Out-String
đầu tiên.
Hàm này thay thế clip Windows tiêu chuẩn trong Git Bash, nơi một dòng mới được sao chép.
function clip {
printf "$(</dev/stdin)" | cat > /dev/clipboard
}
Điều này dựa trên câu trả lời của Matthew chỉ bảo tồn dòng cuối cùng và giới thiệu một dòng mới. Sử dụng printf
để tránh dòng mới mà echo
thêm.
C:\Windows\system32\clip.exe
.