2017-02-18 2 views
0

Ich habe ein Skript erstellt, das ein Symbol im Launcher platziert, um ein Programm als Root-Benutzer zu öffnen. Dieses Skript fügt auch NOPASSWD zu der Benutzerkonfiguration für diese bestimmte Anwendung in /etc/sudoers hinzu, jedoch ist der eine Teil des Skripts, der nicht funktioniert, die Erstellung des Profils in /root/.config/<app>. Ich kann dies manuell erstellen, indem ich den gleichen mkdir Befehl verwende, aber wenn ich denselben Befehl in das Skript lege, wird no such file or directory zurückgegeben. Ich habe dieses Verhalten mehrmals repliziert, auch bei einer Neuinstallation.Konnte nicht erstellt werden /root/.config/ <app> programmgesteuert

Gibt es eine Art von Schutz, der die Erstellung dieses Verzeichnisses nicht automatisieren lässt? Oder fehlt mir etwas über versteckte Ordner in Linux?

Antwort

3

Ich nehme an, Sie tun dies, wenn die .config Dir noch nicht existiert.

mkdir /root/.config/<app> 

Try this:

mkdir -p /root/.config/<app> 

Dies wird jedes fehlendes übergeordnetes Verzeichnis auf den vollständigen Pfad erstellen Sie.

+0

Wenn der Befehl zum ersten Mal ausgeführt wird (und weder das untergeordnete noch das übergeordnete Verzeichnis vorhanden sind), fängt der Befehl an, den Verzeichnispfad zu erstellen. Wenn nicht, warum hat der Befehl funktioniert, wenn er nach dem ersten Fehler manuell in eine Terminal-Eingabeaufforderung eingegeben wurde? – Wolfish

+0

Wenn Sie sich auf Ihre anfänglichen Tests beziehen, sollte "mkdir" (ohne '-p') niemals ein übergeordnetes Verzeichnis erstellen. Ich kann deine Erfahrung nicht erklären: Ich vermute, dass etwas nicht genau so passiert, wie du denkst, aber ich kann mir nicht sicher sein. – Fred

Verwandte Themen