0

我使用以下命令创建了一个目录

/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 文件夹的描述,它似乎是文件。

我想知道 mkdir 将如何创建一个具有文件权限的文件夹,而不是作为一个完整的目录

2)我尝试直接在 unix 框中创建相同的目录,它工作正常,但有些不是从 shell 脚本中工作的。

4

1 回答 1

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
于 2013-03-09T12:44:29.690 回答