如何在UNIX中解决Not a Directory错误消息

时间:2013-03-09 09:37:12

标签: linux bash shell unix sh

我使用以下命令

创建了一个目录
/usr/bin/mkdir -p  "${exa}/isrvce-backup";

exa ---> /样品/示例

我看到isrvce-backup已创建,当我尝试访问该文件夹时,收到以下错误消息

isrvce-backup is not a Directory

任何人都可以帮助解决此问题,我使用的是Shell脚本

当我执行ls命令时,我可以在该列表中看到isrvce-backup条目

我尝试访问该文件夹,如cd isrvce-backup命令

编辑:执行ls -l isrvc*命令后,我得到以下输出

-rwx------+ username none 37 date/time  isrvce-backup

如果我看到isrvce-backup文件夹的desc,它似乎是文件。

我想知道mkdir将如何创建一个包含文件持久性的文件夹,而不是一个完整的目录

2)我尝试直接在unix框中创建相同的目录,它工作正常 但有些人如何从shell脚本中解脱出来。

1 个答案:

答案 0 :(得分:3)

我不能重现你提到的错误。我使用bash-3.2并查看正在创建的目录。如果您尝试使用bash,那么请指定您的bash版本(或任何其他shell),确切的代码片段导致此错误以及以下命令的输出正在创建的目录(cat,ls -l,file,stat)等。

$ cat mkdir.sh
#! /bin/bash
exa="/sample"
mkdir -p "${exa}/c"
touch "${exa}/c/d"
file "${exa}/c/d"

$ sudo bash mkdir.sh  ## asks password as the dir is being created on /
Password: 
/sample/c/d: empty

$ ls -l /sample/
total 0
drwxr-xr-x  3 root  wheel  102 Mar  9 18:02 c

$ ls -l /sample/c
total 0
-rw-r--r--  1 root  wheel  0 Mar  9 18:07 d