2016-10-30 5 views
-5

ich eine Frage an Shell-Scripting fragen will es Angenommen gibt zwei Wege, auf denen eine Datei Path_1 oder Path_2Shell Scripting - Datei Existenz

Das Skript zunächst auf Path_1 aussehen sollte für die Datei installiert werden kann, wenn die Datei ist nicht vorhanden oder installiert auf Path_1 dann dem Skript für die Datei auf path_2 aussehen soll, wenn es nicht auch dort dann die Fehler zeigt

Ich habe dieses Code: - # Make sure that sh.exe is found in C:\Program Files (x86)\Git\bin\sh.exe ls /c/Program\ Files\ \(x86\)/Git/bin/sh.exe > /dev/null 2>&1 || { echo echo -e "\t Git Bash was not installed in the default location." echo -e '\t Installation requires sh.exe to be found at C:\Program Files (x86)\Git\\bin\sh.exe.' echo echo -e "\e[0;31mAborting...\e[m" waitForEnterAndExit } echo -e "\t Git Bash installation found in C:\Program Files (x86)/Git/bin/sh.exe"

jetzt die sh.exe kann bei

C installiert werden: \ Programme \ Git \ bin

oder

C:\Program Files (x86)\Git\bin\sh.exe 

jetzt Ich möchte das Skript so ändern, dass es zuerst nach der Datei sucht:

C: \ Programme \ Git \ bin

, wenn die Datei dann nicht da ist bei

C:\Program Files (x86)\Git\bin\sh.exe 
+2

Was haben Sie selbst getan, um die Antwort zu finden? –

+0

Probieren Googeln '" Bash-Datei existiert "' –

Antwort

0

Hier ist einfach Beispielcode Sie bereitstellen können, und sicher sein, die Werte von Path_1 & Path_2 zu ändern.

#!/bin/bash                                                 

Path_1="path1" 
Path_2="path2" 

Filename=$1 

[ -z ${Filename} ] && echo Filename cannot be empty && exit -1 

[ -e ${Path_1}/${Filename} ] && echo Found ${Filename} under ${Path_1} && exit 0 
[ -e ${Path_2}/${Filename} ] && echo Found ${Filename} under ${Path_2} && exit 0 

echo ${Filename} cannot be found under ${Path_1} and ${Path_2} && exit -1 
+0

Ich muss den Wert des Dateinamens auch ändern. Recht?? – gala

+0

Keine Notwendigkeit, den Dateinamen im Skript zu ändern. Dateiname ist der erste Parameter des Skripts, Verwendung: './script Dateiname' – CWLiu