Bash-Skripte – Warum wird Echo nicht ausgeführt?

Bash-Skripte – Warum wird Echo nicht ausgeführt?

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 bashein 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

verwandte Informationen