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)"
}
you are viewing a single comment's thread
view the rest of the comments
[–] 12 points 1 year ago (2 children)
#Create a dir and cd into it
mkcd() { mkdir -p "$@" && cd "$@"; }
  • source
  • hideshow 2 child comments
  • [–] 3 points 1 year ago

    That's a helpful one! I also add a function that creates a tmp directory, and cds to it which I frequently use to open a scratch space. I use it a lot for unpacking tar files, but for other stuff too.

    (These are nushell functions)

    # Create a directory, and immediately cd into it.
    # The --env flag propagates the PWD environment variable to the caller, which is
    # necessary to make the directory change stick.
    def --env dir [dirname: string] {
      mkdir $dirname
      cd $dirname
    }
    
    # Create a temporary directory, and cd into it.
    def --env tmp [
      dirname?: string # the name of the directory - if omitted the directory is named randomly
    ] {
      if ($dirname != null) {
        dir $"/tmp/($dirname)"
      } else {
        cd (mktemp -d)
      }
    }
    
  • source
  • parent
  • [–] 3 points 1 year ago* (last edited 1 year ago)

    Here's a script I use a lot that creates a temporary directory, cds you into it, then cleans up after you exit. Ctrl-D to exit, and it takes you back to the directory you were in before.

    Similar to what another user shared replying to this comment but mine is in bash + does these extra stuff.

    #!/bin/bash
    
    function make_temp_dir {
        # create a temporary directory and cd into it.
        TMP_CURR="$PWD";
        TMP_TMPDIR="$(mktemp -d)";
        cd "$TMP_TMPDIR";
    }
    
    function del_temp_dir {
        # delete the temporary directory once done using it.
        cd "$TMP_CURR";
        rm -r "$TMP_TMPDIR";
    }
    
    function temp {
        # create an empty temp directory and cd into it. Ctr-D to exit, which will
        # delete the temp directory
        make_temp_dir;
        bash -i;
        del_temp_dir;
    }
    
    temp
    
  • source
  • parent