wie zu lösen, Nicht um ein Verzeichnis Fehlermeldung in UNIX
Habe ich erstellt ein Verzeichnis mit dem folgenden Befehl
/usr/bin/mkdir -p "${exa}/isrvce-backup";
exa ---> /sample/Beispiel
und ich sehe isrvce-backup erstellt, wenn ich versucht, um auf diesem Ordner zuzugreifen, bekomme ich die folgende Fehlermeldung
isrvce-backup is not a Directory
Kann irgend jemand helfen, wie dieses Problem zu beheben, und ich bin mit Shell-Skript
Wenn ich ausführen ls
Befehl kann ich sehen isrvce-backup
Eintrag in dieser Liste
Ich habe versucht, um auf diesem Ordner zuzugreifen, als cd isrvce-backup
Befehl
Edit : Nach Ausführung der ls -l isrvc*
Befehl bekomme ich folgende Ausgabe
-rwx------+ username none 37 date/time isrvce-backup
wenn ich sehe, die Beschreibung der isrvce-backup-Ordner, es scheint die Datei.
Ich Frage mich, wie mkdir erstellen Sie einen Ordner mit Datei persmissions, sondern als ein komplettes Verzeichnis
2) ich habe versucht, erstellen die gleichen Ordner direkt in die unix-Rechner, funktionierte es gut
aber einige, wie seine nicht wokring aus dem shell-Skript.
- Bitte zeigen, wie Sie versuchen, Zugriff auf das Verzeichnis.
- cd isrvce-backup mit dem oben genannten Befehl und aus dem entsprechenden Pfad
- was sehen Sie, wenn Sie laufen
ls -l
? versuchen Sie auch, läuftcd $PWD
, und versuchen Sie es dann erneut. - versuchen Sie
file isrvce-backup
,cat isrvce-backup
, versuchen Sie das löschenisrvce-backup
und neu zu erstellen mit dem gleichen Befehl. - /usr/bin/mkdir -p "${exa}/isrvce-backup"; ich bin die Ausführung von Shell-script, angenommen, wenn ich diesen Befehl von der Konsole, scheint alles in Ordnung zu sein
- Vielleicht ist dein shell-script hat nicht die Erlaubnis für
mkdir
; Sie sollte testen, dassmkdir
erfolgreich war. Und für das debugging, das shell-Skript starten mit#!/bin/sh -vx
als erste Zeile (und machen Sie das Skript ausführbar mitchmod a+x
) -rwx------+..
dies bedeutet, es ist eine Datei, kein Verzeichnis. Verzeichnis sollte mitd
so Ihremkdir
nur das tut, wastouch
tut??- Bitte lassen Sie mich wissen, wie kann ich das korrigieren
ls -l isrvc*
zeigen Sie den Inhalt von einem Verzeichnis mit dem Namen isrvce-Sicherung (falls es existiert als ein Verzeichnis) oder die Eigenschaften der Datei isrvce-Sicherung (falls es existiert als eine Datei), aber Ihnen nicht sagen, was es tut. Bitte verwenden Siels -ld isrvc*
statt (die-d
macht es zu zeigen, ein Verzeichnis info, nicht sein Inhalt). Wenn das immer noch zeigt es als eine Datei, dann bin ich ziemlich sicher, dass es nicht der mkdir-Befehl, das ist das problem -- etwas anderes ist, erstellen Sie Sie als Datei, und Sie müssen, um diese Spur etwas nach unten.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich coudln nicht reproduzieren den Fehler, den Sie erwähnt. Ich benutze die bash-3.2 und siehe das Verzeichnis erstellt wird wie gedacht.. Wenn Sie versuchen, dieses mit der bash, dann bitte geben Sie Ihre bash-version (oder einer anderen shell), genaue code-snippet, das verursacht diesen Fehler, und die Ausgabe der folgenden Befehle in dem Verzeichnis erstellt wird (cat,ls,- l, - Datei,stat) etc..