在 bash 脚本中找不到 mkdir 命令

mkdir command not found in bash script

我不知道为什么 运行 这个简单的脚本会出错:

#!/bin/bash

read -p "Please enter directory name: " DIR
read -p "Please enter the path: " PATH
mkdir -p "$PATH/$DIR"
line 7: mkdir: command not found

不要使用变量 PATH。此变量包含用于搜索可执行程序的目录列表。由于您要替换它,因此脚本无法再找到 mkdir 程序。

一般来说,避免使用全部大写的变量,这些通常用作 shell 或其他程序的参数。

变量 PATH 是一个重要的环境变量 - 它是程序(如 mkdir)被发现的方式,您正在覆盖它。你不应该这样做,但如果你必须那么做:

/bin/mkdir -p "$PATH/$DIR"

但老实说,不要使用大写字母! Bash 中有大量保留变量或特殊变量,如果您不能全部记住它们,请记住除了一个以外的所有变量都是大写的。 Bash 中的变量区分大小写,就像在所有明智的编程语言中一样。