在bash脚本中找不到mkdir命令

时间:2015-04-23 14:27:08

标签: bash mkdir

我不知道为什么在运行这个简单的脚本时出现错误:

#!/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

2 个答案:

答案 0 :(得分:34)

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

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

答案 1 :(得分:3)

变量PATH是一个重要的环境变量 - 它是找到程序(如mkdir)并覆盖它的方式。你不应该这样做,但如果你必须这样做:

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

但老实说,不要使用大概! Bash中有大量保留或特殊变量,如果你不记得它们,那么只记得除了一个以外的所有变量都是大写的。 Bash中的变量区分大小写,就像所有敏感的编程语言一样。