News for hackers. Stuff that matters.
Re:Linux Terminal Goods by archi42 on Thursday September 19, 2019 @08:39AM (#21015580)
Inspired by a colleague, I wrote this (for bash):

https://gist.github.com/archi/2a2331401842c0548fa8de0f69796f...

> up 4

go up 4 folders (=> "cd .." 4 times).

> up

goes up one folder, and you can repeat pressing ENTER to go up one more. Press anything else to drop back to the shell.

Could probably be "better" (e.g. no subshells), but works well for me.

Re:Linux Terminal Goods by RadiantSecurity on Thursday September 19, 2019 @09:50AM (#21016118)
Thats cool! I'm not sure where it comes from, but I get similar behavior in zsh with 'cd ....' - similar doesn't happen in bash though.

I mapped 'cd' to 'c' in my bashrc, but while doing it I also mapped 'c' to execute 'ls' as the latter was basically muscle memory whenever I was using cd. The .bashrc function looks like this:

c() { builtin cd "$@" && ls; }

Re:Linux Terminal Goods by imglorp on Thursday September 19, 2019 @10:17AM (#21016381)
Hey guys, I have the same thing, but I called the command ".." (no it doesn't conflict with the directory). ".." by itself is the same as ".. 3"

    .. () {
      local arg=${1:-1};
      while [ $arg -gt 0 ]; do
        builtin cd .. &> /dev/null;
        arg=$(($arg - 1));
      done;
    }
Re:Linux Terminal Goods by msoucy on Thursday September 19, 2019 @10:40AM (#21016608)
Mine is similar, but only does one cd command - to allow better use of `cd -`

    up() {
        local ups="."
        for((i=0;i<${1:-1};i++)); do
            ups="${ups}/.."
        done
        builtin cd "$ups"
    }
Re:Linux Terminal Goods by archi42 on Thursday September 19, 2019 @01:16PM (#21018323)
"cd -" is equal to "cd $OLDPWD", so that still works with my function ;)

Though yours looks much nicer ^^"

Re:Linux Terminal Goods by imglorp on Thursday September 19, 2019 @12:54PM (#21018069)
Ooo, good idea!
Re:Linux Terminal Goods by anjanb on Thursday September 19, 2019 @10:28AM (#21016494)
I've written aliases like cd2='cd ../..'. similarly cd3='cd ../../..' . Similarly cd4 and cd5. next time I'll think of this!