2017-12-29 4 views
-2

Dies ist wahrscheinlich eine einfache Lösung, aber ich schrieb ein Bash-Skript, um zwei Verzeichnisse zu erstellen, von denen eines das Unterverzeichnis des anderen ist. Ich werde das Skript unten verlinken. Es erstellt die "/ usr/local/sites" ganz gut, aber es wird aus irgendeinem Grund nicht die A-Aktualisierung unterhalb dieses Verzeichnisses erstellen. Irgendwelche Gedanken?Mkdir funktioniert für einen Ordner, aber nicht für den anderen in einem Bash-Skript?

#!/bin/bash 
DIRECTORY=/usr/local/sites/ 
SITE=A 
sudo mkdir -p "$DIRECTORY" 
sudo mkdir -p "$DIRECTORY/$SITE-upgrade/" 
cd "$DIRECTORY/$SITE-upgrade/" 
+2

Versuchen 'sudo mkdir -p "$ DIRECTORY/$ {SITE} -upgrade /"' und 'cd "$ DIRECTORY/$ {SITE} -upgrade /"' Auch shebang ändern '#!/Bin/bash -x' auch, um zu sehen, wozu alles expandiert. –

+0

@FredrikPihl Das hat auch nicht funktioniert. – AAlred

+0

@AAlred Fügen Sie ein 'echo $?' Nach dem letzten 'mkdir' Befehl hinzu und sehen Sie, welchen Fehlercode es zurückgibt. – hnefatl

Antwort

2

Nach Hilfe von den anderen in den Kommentaren erkannte ich dumm, dass ich eine Bereinigungsfunktion in meinem Skript hatte, das mein Verzeichnis löschte, was es tun sollte. Nochmals vielen Dank für die Hilfe Jungs. Manchmal hilft es, ein "-x" hinzuzufügen. Das Bereinigungsverzeichnis hat Folgendes ausgeführt und löschte das Verzeichnis, nach dem ich gesucht habe.

log "cleaning up folder" 
log "cd up a directory" 
cd .. 
log "remove folder $SITE-upgrade" 
find "$SITE-upgrade" -type d | xargs rm -rf 
+0

Sie sollten dies als Antwort markieren (https://stackoverflow.com/help/someone-answers). – hnefatl

+0

@hnefatl Es wird mich nicht für zwei Tage lassen, danach werde ich – AAlred

+0

Dies bietet keine Antwort auf die Frage. Um einen Autor zu kritisieren oder um Klärung zu bitten, hinterlasse einen Kommentar unter seinem Beitrag. - [Aus Bewertung] (/ review/low-quality-posts/18381846) –

1

Sie haben $ site in der sudo-Anweisung anstelle von $ Seiten, die die Variable, die Sie über die sudo-Anweisung zugeordnet ist.

+1

Das ist ein Tippfehler meinerseits. Es ist eigentlich SITE im Code haha ​​ – AAlred

Verwandte Themen