最后活跃于 1734032515

PATH variable a shell like Bash

PATHinBash.md 原始文件

The PATH shell variable in the Bash shell is a special environment variable that tells your system where to look for executable programs when you type a command.

Why is it needed?

When you type a command like ls or python, the system doesn’t magically know where that program or script is stored. Instead, it searches through a list of directories (folders) defined in the PATH variable to find the executable file.


How does PATH work?

  1. The PATH is a list of directories:
    The PATH variable contains multiple directory paths separated by colons :. For example:

    /usr/local/bin:/usr/bin:/bin:/home/user/bin
    
  2. Command Search:
    When you type a command, Bash searches through each directory in the PATH one by one (in order) to see if the command's executable file exists there.

  3. If Found: It runs the program.
    If Not Found: Bash returns a "command not found" error.


Example for Beginners

  • Suppose your PATH looks like this:
    /usr/local/bin:/usr/bin:/bin
    
  • You type python.
    • Bash will look for an executable named python in:
      • /usr/local/bin
      • /usr/bin
      • /bin
    • If it finds python in /usr/bin, it stops searching and runs it.

Why is PATH Useful?

  • It allows you to run commands without typing the full path to the executable.
    For example, instead of:
    /usr/bin/python3
    
    You can simply type:
    python3
    
  • It lets you add custom directories to prioritize or include your own scripts or programs.

Adding a Directory to PATH

To add a directory (e.g., /home/user/scripts) to your PATH:

export PATH=$PATH:/home/user/scripts

Now, any executable in /home/user/scripts can be run directly by typing its name.


In short, the PATH variable makes it convenient and efficient to execute programs without needing to type out their full file locations every time. It's like a "search roadmap" for your system to find commands.