mkdir command not found in bash script

送分小仙女□ 提交于 2019-11-28 02:50:47

问题


I don't know why I get error while running this simple 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

回答1:


Don't use the variable PATH. This variable contains a list of directories to search for executable programs. Since you're replacing it, the script can no longer find the mkdir program.

In general, avoid using variables that are all uppercase, these are often used as parameters for the shell or other programs.




回答2:


The variable PATH is an important environment variable - it is the way that programs (like mkdir) are found, and you are overwriting it. You shouldn't do that, but if you must then:

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

but honestly DON'T USE UPPERCASE! There are loads of reserved or special variables in Bash, and if you can't remember them all then just remember that all except one is in UPPERCASE. Variables in Bash are case-sensitive, like in all sensible programming languages.



来源:https://stackoverflow.com/questions/29826442/mkdir-command-not-found-in-bash-script

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!