我不知道为什么在运行这个简单的脚本时出现错误:
#!/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
答案 0 :(得分:34)
不要使用变量PATH
。此变量包含用于搜索可执行程序的目录列表。由于您正在替换它,因此脚本无法再找到mkdir
程序。
通常,避免使用全部大写的变量,这些变量通常用作shell或其他程序的参数。
答案 1 :(得分:3)
变量PATH
是一个重要的环境变量 - 它是找到程序(如mkdir
)并覆盖它的方式。你不应该这样做,但如果你必须这样做:
/bin/mkdir -p "$PATH/$DIR"
但老实说,不要使用大概! Bash中有大量保留或特殊变量,如果你不记得它们,那么只记得除了一个以外的所有变量都是大写的。 Bash中的变量区分大小写,就像所有敏感的编程语言一样。