14

I am using a default installation of FreeBSD, with the C shell (csh).

Suppose I have a command I can run by executing this: /sbin/abc, but cannot run by executing abc. How can I set certain path or something that make abc runnable everywhere?

Eric Leschinski
  • 6,828
  • 6
  • 45
  • 51
Andy Leman
  • 325
  • 1
  • 2
  • 11

2 Answers2

16

Aha, FreeBSD. That's tcsh, I believe.

So:

set path=(/sbin $path)
DigitalRoss
  • 3,138
  • 18
  • 13
7

bash & zsh syntax:

export PATH=${PATH}:/sbin

sh syntax (two separate commands):

PATH=${PATH}:/sbin
export PATH

csh and tcsh:

setenv PATH "${PATH}:/sbin"
set path=($path /sbin)

This will append /sbin to your path, so when you type abc, the shell will also look in /sbin for it. You can also add the command to your ~/.bashrc file (or ~/.cshrc, ~/.tcshrc, ~/.profile, ~/.login—depending on which shell you use).

Basil Bourque
  • 794
  • 2
  • 12
  • 21
Tim
  • 422
  • 1
  • 3
  • 7
  • I got "export command not found" I am using Freebsd 8.1 –  Dec 22 '10 at 07:08
  • Let me know which shell you're using, and I'll update the syntax. – Tim Dec 22 '10 at 07:09
  • I have no idea which shell I am using. It's default FreeBSD, i didn't change anything... –  Dec 22 '10 at 07:11
  • 2
    type `echo $SHELL` to find out which shell you're using, and run the appropriate commands (I'm guessing tcsh/csh since you don't have `export`). I've updated this answer with syntax for all three. – Tim Dec 22 '10 at 07:12
  • /bin/csh [ word padding...................] –  Dec 22 '10 at 07:15
  • This will work but csh and tcsh were intended to use the native wordlist variables and then PATH is generated automatically. Since the `setenv` command will *only* DTRT with PATH, it would be better for a tcsh user to learn the syntax that will work with all of his variables. The command he *should* be using is in my answer below. – DigitalRoss Dec 22 '10 at 07:20
  • @DigitalRoss, I forgot about that quirk of csh -- I mostly used bash. Anyway, I updated the post. @Andy, if `abc` is something you use a lot, you may want to put the command into your `~/.tcshrc` file, so you don't have to type it everytime you log in. – Tim Dec 22 '10 at 07:34