![Bash-Skripte – Warum wird Echo nicht ausgeführt?](https://rvso.com/image/109217/Bash-Skripte%20%E2%80%93%20Warum%20wird%20Echo%20nicht%20ausgef%C3%BChrt%3F.png)
Ich habe versucht, ein Bash-Skript zu erstellen.
vi hello_world
Im Skript habe ich geschrieben
#!/bin/bash
text="Hello World"
echo $text
Wenn ich tippe
echo $hello_world
Sollte das Skript nicht ausgeführt werden, wenn ich „Hallo Welt“ ausdrucke? Oder ist etwas in der Syntax falsch?
Antwort1
Sie verwenden die falsche Syntax zum Aufrufen des Skripts.
echo $hello_world
druckt den Inhalt der Variablen hello_world
.
Sie müssen den Pfad zum Skript eingeben, um das Shell-Skript auszuführen hello_world
:
./hello_world
Dies wird ausgeführt hello_world
, wenn es sich im aktuellen Arbeitsverzeichnis befindet.
Um das Skript direkt (also mit ) auszuführen ./script
, müssen Sie es ausführbar machen. Dies können Sie mit folgendem Befehl tun:
chmod +x ./hello_world
oder indem Sie den Dateieigenschaftendialog Ihres Dateimanagers verwenden.
Antwort2
Vorausgesetzt, das Skript befindet sich in Ihrem aktuellen Arbeitsverzeichnis, müssen Sie Folgendes ausführen, um Ihr Skript auszuführen.
./hello_world
Wenn Ihr Skript noch keine Berechtigungen zur Ausführung hat, können Sie diese mitchmod +x hello_world
Antwort3
Möglicherweise ist der Standort bash
ein anderer.
Sie können stattdessen den Bootstrap verwenden
#!/usr/bin/env bash
text="Hello World"
echo $text
EDIT: Es war so offensichtlich, dass ich die falsche Syntax zum Ausführen des Skripts nicht gesehen habe. Versuchen Sie:
./hello_world