2016-08-03 19 views
0

Ich sah jetzt mehr wie ein Thema (zB: Bash: How _best_ to include other scripts?, es habe auch versucht, keiner von ihnen arbeitenWarum sind nicht funktionierende Bash-Dateien enthalten?

ich auch „create_sample_html.sh“ sollte in der "test.sh im selben Verzeichnis-Datei aufrufen. . "Datei

Aber egal was ich versucht, passiert nichts, wenn Sie laufen

Aber ich versuchte Skript in Docker Behälter zurückkehren wird folgende Fehlermeldung auszuführen:.

./create_sample_html.sh: Keine solche Datei oder das Verzeichnis

create_php_info: Befehl nicht

create_html gefunden: Befehl nicht gefunden

test.sh:

#!/bin/bash 

source ./create_sample_html.sh 

IP=$(ip route get 1 | awk '{print $NF;exit}') 

create_php_info "<path-to-file>/index.php" 
create_html ${IP} "test1" "<path-to-file>/index.html" 

exit 0 

create_sample_html .sh:

#!/bin/bash 
create_html() { 
    touch $3 
    echo -e "<!Doctype html>" >> $3 
    echo -e "<html>" >> $3 
    echo -e "\t<head>" >> $3 
    echo -e "\t\t<meta charset=\"utf-8\">" >> $3 
    echo -e "\t\t<title>Server $1 VHost: $2</title>" >> $3 
    echo -e "\t</head>" >> $3 
    echo -e " " >> $3 
    echo -e "\t<body>" >> $3 
    echo -e "\t\t<h1>Server $1 VHost: $2</h1>" >> $3 
    echo -e "\t</body>" >> $3 
    echo -e "</html>" >> $3 
} 

create_php_info() { 
    touch $1 
    echo -e "<?php phpinfo(); ?>" >> $1 
} 
exit 0 

Dateiberechtigungen:

-rwxrwxr-x 1 user user 480 aug 3 20:48 create_sample_html.sh 
-rwxrwxr-x 1 user user 332 aug 3 20:37 test.sh 
+0

zeigen, wie Sie den Befehl 'test.sh' aufrufen. Eine weitere Option ist der absolute Pfad für 'create_sample_html.sh'. – Fazlin

Antwort

0

In create_sample_html.sh entfernen exit 0.

Else, test.sh führt exit 0 in dem Moment aus, in dem Sie es beschaffen. Im selben Schritt können Sie auch #!/bin/bash aus der Quelldatei entfernen, da dies unnötig ist, da die Funktionen ohnehin mit der Shell des übergeordneten Skripts ausgeführt werden.

+0

Vielen Dank! Es funktioniert gut! –