11

How do I install the shell "z" script directory jumper on Ubuntu 12.10?

15

In the z readme after line 48, it says:

Installation:

Put something like this in your $HOME/.bashrc or $HOME/.zshrc:

. /path/to/z.sh

cd around for a while to build up the db.

You need to download the z.sh file to a directory of your choosing, then tell your .bashrc where it is, so your terminal can find it. (The same applies for z-shell, which is just another shell system.) Then, after you use bash for a while, z will know your favorite locations.

11

You can download and add to *rc files using command line as so

# Download to latest to home dir
wget https://raw.githubusercontent.com/rupa/z/master/z.sh -O ~/z.sh
# Add to .bashrc
echo . /path/to/z.sh >> ~/.bashrc
# Add to .zshrc
echo . /path/to/z.sh >> ~/.zshrc
  • @VolkerSiegel There is no link in this answer at all, so your comment isn't very helpful. David: It is true however that your answer doesn't provide much explanation. I see the shell comments, but could you expand on those in the answer itself? Thanks. – Seth Sep 14 '14 at 17:02
  • @Seth Yes, I asked on meta related to handling this as "link only", and learned something: meta.askubuntu.com/questions/11980/… I mixed up flagging with commenting on close. – Volker Siegel Sep 14 '14 at 17:06
  • @Alexis Why /usr/local/bin? Why executable permissions? It doesn't look like this file has to be executed directly, or that it needs to be somewhere in PATH. – muru Nov 27 '15 at 6:30
  • @muru Feel free to re-edited if you're not in agreement, here is a thread askubuntu.com/questions/195652/…, but respect to permissions, i could be wrong, not my strong area, i couldn't find where i get this recommendation, regards – Alexis Nov 27 '15 at 17:53
  • @Alexis Yep, I'm rolling back. Nothing so far indicates that the script needs to be in PATH or that it needs to be executable by the user. – muru Nov 27 '15 at 17:56
2

From here

  • Download wget https://raw.githubusercontent.com/rupa/z/master/z.sh.

  • Install printf "\n\n#initialize Z (https://github.com/rupa/z) \n. ~/z.sh \n\n" >> .bashrc. This command appends . ~/z.sh to your .bashrc file, which in turn tells it to run Z upon start-up.

  • Reload shell source ~/.bashrc.

To test how Z works, browse to these directories:

cd /etc/systemd/system
cd /usr/share/nano
cd /etc/kernel/postinst.d
cd ~

Now, from your terminal, type in z sys and push the tab button, then enter. Next, type z nano and hit the tab button, then enter again. You will see in both cases that Z automatically knew to cd into the first and second directories where we initially browsed.

Using Z with Zsh

  • Run printf "\n\n#initialize Z (https://github.com/rupa/z) \n. ~/z.sh \n\n" >> .zshrc. This command appends . ~/z.sh to .zshrc file, which tells it to run Z on start-up.
  • Reload shell source ~/.zshrc.

Using Z with Zsh + Oh My Zsh

Just add z to the plugins list in ~/.zshrc

plugins=(
 git
 z
)

Download the z script to your home directory:

wget https://raw.githubusercontent.com/rupa/z/master/z.sh -O ~/.z

Then:

source ~/.zshrc
  • 1
    @GAD3R is it really necessary to download the z script ? isn't it integrated the oh-my-zsh fw ? – Sangimed Sep 19 at 9:51
  • 1
    Without the z script you may receive _z_dirs:2: no such file or directory: /home/$USER/.z error. To reproduce the problem : mv .z .z.bak , then execute some jumps. – GAD3R Sep 19 at 11:16
1

When installing scripts like this (shell augmentation), it is usually a good idea to install them to /etc/profile.d. To download and install in a single step, you can use the following command:

sudo curl https://raw.githubusercontent.com/rupa/z/master/z.sh \
          -o /etc/profile.d/z.sh

Some of the advantages of installing your shell modifications on /etc/profile.d:

  • It will be available for all shells and users;
  • There's no need to chmod +x;
  • It is easier to uninstall (just remove the file);
  • It is easier to remember where you put them.
  • this simply did not work – Xerus May 11 '18 at 20:38
  • Worked well on Git Bash for Windows (without sudo of course), thanks! – 0x49D1 Dec 26 '18 at 7:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.