我不知道为什么在运行这个简单的脚本时出现错误:
#!/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
程序。zsh
。但是这个问题被标记为 bash
。 - BarmarPATH
变量是一个重要的环境变量 - 它是程序(如 mkdir
)被找到的方式,而您正在覆盖它。您不应该这样做,但是如果必须这样做:
/bin/mkdir -p "$PATH/$DIR"
老实说,不要使用大写字母!在Bash中有很多保留或特殊变量,如果你无法记住它们所有,那就记住除一个外其他都是大写字母。在Bash中,变量是大小写敏感的,就像所有合理的编程语言一样。
PATH
必须大写,并且是一个特殊变量,因此应该是 DIR
。 - cdarkeauto_resume
和histchars
。请参阅man bash
以获取Shell使用的变量列表,除了这两个变量外,其他所有变量都是大写的。 - cdarke
$PATH
环境变量!这正是为什么你应该避免使用大写变量名的原因。 - BiffenALL_CAPS
变量名,原因是这些变量名被保留给 shell 使用。请注意避免此类命名方式。 - Etan Reisner