在 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 中的变量区分大小写,就像在所有明智的编程语言中一样。
我不知道为什么 运行 这个简单的脚本会出错:
#!/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 中的变量区分大小写,就像在所有明智的编程语言中一样。