A while ago I made a tiny function in my ~/.zshrc to download a video from the link in my clipboard. I use this nearly every day to share videos with people without forcing them to watch it on whatever site I found it. What’s a script/alias that you use a lot?

# Download clipboard to tmp with yt-dlp
tmpv() {
  cd /tmp/ && yt-dlp "$(wl-paste)"
}
  • jsomae@lemmy.ml
    link
    fedilink
    arrow-up
    1
    ·
    10 months ago

    I wrote a script called please. You input please followed by any other command (e.g. please git clone, please wget blahblah) and a robotic voice will say “affirmative,” then the command will run, and when it completes, the robotic voice reads out the exit code (e.g. “completed successfully” or “failed with status 1” etc.)

    This is useful for when you have a command that takes a long time and you want to be alerted when it’s finished. And it’s a gentleman.

    • Azzk1kr@feddit.nl
      link
      fedilink
      English
      arrow-up
      0
      ·
      10 months ago

      You can also use something like notifyd to generate a pop up for visual feedback :) I can’t remember the exact command right now though. Differs per distro or desktop environment, obviously.

      • Ferk@lemmy.ml
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        10 months ago

        Also, printf '\a' will output an alert bell character which should make the terminal beep/blink and be highlighted for attention by your wm/compositor if it’s unfocused.

        I have that aliased to a to get notified whenever a long running command finishes just by adding ;a at the end.

  • golden_zealot@lemmy.ml
    link
    fedilink
    English
    arrow-up
    1
    ·
    10 months ago

    alias clip='xclip -selection clipboard'

    When you pipe to this, for example ls | clip, it will stick the output of the command ran into the clipboard without needing to manually copy the output.

  • kibiz0r@midwest.social
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    10 months ago

    I often want to know the status code of a curl request, but I don’t want that extra information to mess with the response body that it prints to stdout.

    What to do?

    Render an image instead, of course!

    curlcat takes the same params as curl, but it uses iTerm2’s imgcat tool to draw an “HTTP Cat” of the status code.

    It even sends the image to stderr instead of stdout, so you can still pipe curlcat to jq or something.

    #!/usr/bin/env zsh
    
    stdoutfile=$( mktemp )
    curl -sw "\n%{http_code}" $@ > $stdoutfile
    exitcode=$?
    
    if [[ $exitcode == 0 ]]; then
      statuscode=$( cat $stdoutfile | tail -1 )
    
      if [[ ! -f $HOME/.httpcat$statuscode ]]; then
        curl -so $HOME/.httpcat$statuscode https://http.cat/$statuscode
      fi
    
      imgcat $HOME/.httpcat$statuscode 1>&2
    fi
    
    cat $stdoutfile | ghead -n -1
    
    exit $exitcode
    

    Note: This is macOS-specific, as written, but as long as your terminal supports images, you should be able to adapt it just fine.

    • Revan343@lemmy.ca
      link
      fedilink
      arrow-up
      0
      ·
      10 months ago

      alias sl='ls | while IFS= read -r line; do while IFS= read -r -n1 char; do if [[ -z "$char" ]]; then printf "\n"; else printf "%s" "$char"; sleep 0.05; fi; done <<< "$line"; done'

      I can’t easily check if it works until I get home to my laptop, but you get the idea

    • thingsiplay@beehaw.org
      link
      fedilink
      arrow-up
      1
      ·
      10 months ago

      With how many new Linux users we get recently, I don’t like this joke at all without a disclaimer. Yes yes, its your own fault if you execute commands without knowing what it does. But that should not punish someone by deleting every important personal file on the system.

      In case any reader don’t know, rm is a command to delete files and with the option rm -r everything recursively will be searched and deleted on the filesystem. Option -f (here bundled together as -rf) will never prompt for any non existing file. The / here means start from the root directory of you system, which in combination with the recursive option will search down everything, home folder included, and find every file. Normally this is protected todo, but the extra option --no-preserve-root makes sure this command is run with the root / path.

      Haha I know its funny. Until someone loses data. Jokes like these are harmful in my opinion.