Uploading and copy download command for transfer.sh

本文是我给 transfer.sh 提的一个 PR 的内容。

Download commands can be automatically copied to the clipboard after files are uploaded using transfer.sh.

It was designed for 🐧 Linux or 🍎 macOS.

1. Install xclip or xsel for Linux, macOS skips this step

Install later, add pbcopy and pbpaste to .bashrc or .zshrc or its equivalent.

  • If use xclip, paste the following lines:
1
2
alias pbcopy='xclip -selection clipboard'
alias pbpaste='xclip -selection clipboard -o'
  • If use xsel, paste the following lines:
1
2
alias pbcopy='xsel --clipboard --input'
alias pbpaste='xsel --clipboard --output'

2. Add Uploading and copy download command shell function

  1. Open .bashrc or .zshrc or its equivalent.

  2. Add the following shell script:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    transfer() {
    curl --progress-bar --upload-file "$1" https://transfer.sh/$(basename "$1") | pbcopy;
    echo "1) 🔗 Download link:"
    echo "$(pbpaste)"

    echo "\n2) 🐧 Linux or 🍎 macOS download command:"
    linux_macos_download_command="wget $(pbpaste)"
    echo $linux_macos_download_command

    echo "\n3) 😓 Windows download command:"
    windows_download_command="Invoke-WebRequest -Uri "$(pbpaste)" -OutFile $(basename $1)"
    echo $windows_download_command

    case $2 in
    l|m) echo $linux_macos_download_command | pbcopy
    ;;
    w) echo $windows_download_command | pbcopy
    ;;
    esac
    }

3. Test

The transfer command has two parameters:

  1. The first parameter is the path to upload the file.

  2. The second parameter indicates which system’s download command is copied. optional:

    • This parameter is empty to copy the download link.

    • l or m copy the Linux or macOS command that downloaded the file.

    • w copy the Windows command that downloaded the file.

For example, The command to download the file on Windows will be copied:

1
2
3
4
5
6
7
8
9
10
$ transfer ~/temp/a.log w
######################################################################## 100.0%
1) 🔗 Download link:
https://transfer.sh/y0qr2c/a.log

2) 🐧 Linux or 🍎 macOS download command:
wget https://transfer.sh/y0qr2c/a.log

3) 😓 Windows download command:
Invoke-WebRequest -Uri https://transfer.sh/y0qr2c/a.log -OutFile a.log

Uploading and copy download command for transfer.sh

https://ganzhixiong.com/p/d03eb810/

Author

干志雄

Posted on

2021-09-17

Updated on

2021-09-17

Licensed under

Comments