I am trying to create a script to detect whether a directory exists, and if it does not, to create it.
How can I do that?
I did some 开发者_如何学Cdigging and found a clue:
test -d directory
...will return true or false depending on whether the directory exists or not.
But how do I tie this together with mkdir?
mkdir -p $directory should do what you want. The -p option will create any necessary parent directories. If $directory already exists as a directory, the command does nothing, and succeeds. If $directory is a regular file, it will remain untouched, and the command will fail with an appropriate error message.
Without the -p option to mkdir, the test ... || mkdir ... strategy can fail if $directory contains a '/', and some component of that path doesn't already exist. The test is superfluous anyway, since mkdir does the same test internally.
test ... || mkdir ...
加载中,请稍侯......
精彩评论