2016-11-02 2 views
2

Ich schrieb ein Bash-Skript, das für meine Maschine funktioniert, aber ich möchte es mit einem Kollegen teilen. Ich möchte, dass er nur die Pfade in meinen Variablen ändert, die zu seinem System passen. Ich nehme an, dass ich einen Teil meines Skripts hinzufügen sollte, der nach vorhandenen Verzeichnissen sucht und sie erstellt, wenn sie nicht existieren?Referenz Lokaler Benutzer Pfad in Bash

Gibt es auch eine Möglichkeit für mich, "~ /" zu verwenden, um die Pfade zu seinem Home-Verzeichnis zu leiten?

Grundsätzlich versucht, die Übergabe dieses Skripts so einfach wie möglich zu machen, wobei der lokale Benutzer nur die Pfade in der Variablen ändern würde.

Vielen Dank!

beigefügt ist ein Ausschnitt meines Skripts - ich möchte, dass das "mich" den lokalen Benutzer widerspiegelt.

dbreportspath="/Users/me/Dropbox/NDT_RED_REPORTS/"$survivor"/" #Path to Local dropbox Silverstack Reports - Make sure the directory exists! 
dbpath="/Users/me/Dropbox/Drive_Contents/"      #Path to Local dropbox Drive Contents - Make sure the directory exists! 
localdc="/Users/me/Documents/Drive_Contents/Jobs/"$survivor/"" #Path to Local directory for Drive Contents 

Antwort

2

würde ich das Skript zu

ändern
dbreportspath="$HOME/Dropbox/NDT_RED_REPORTS/$survivor/" 
dbpath="$HOME/Dropbox/Drive_Contents/" 
localdc="$HOME/Documents/Drive_Contents/Jobs/$survivor/" 

(Beachten Sie, dass ich die Anführungszeichen $survivor entfernt haben. Ich bin unsicher ihrer Notwendigkeit, wenn Sie erarbeiten können?)

zu beantworten der andere Teil Ihrer Frage zum Erstellen von Verzeichnissen, wenn sie nicht existieren:

if [ ! -d "$dbreportspath" ]; then 
    mkdir -p "$dbreportspath" 
fi 

Oder wenn Sie es mehrmals tun müssen:

function createDirsIfDoNotExist() { 
    for dir in "[email protected]"; do 
     if [ ! -d "$dir" ]; then 
      mkdir -p "$dir" 
     fi 
    done 
} 

createDirsIfDoNotExist "$dbreportspath" "$dbpath" "$localdc" 
+1

Es ist am besten, * alle * (gut, fast alle) variable Referenzen, z. 'wenn [! -d "$ dreportspath"] ',' mkdir -p "$ dreportspath" ',' für dir in "$ @" usw. –

+0

@GordonDavisson einverstanden, fertig. –

+0

$ HOME war was ich gesucht habe. Anfänger Derp Moment für mich. Vielen Dank. –

Verwandte Themen