Unterschied zwischen "" und '' und ``

Du hast Probleme mit Deinem eMail-Programm, Webbrowser oder Textprogramm? Dein Lieblingsprogramm streikt?
Antworten
Benutzeravatar
BeS
Moderator
Beiträge: 3236
Registriert: 17.04.2002 18:30:21
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Stuttgart
Kontaktdaten:

Unterschied zwischen "" und '' und ``

Beitrag von BeS » 22.08.2002 22:47:13

Hi,
Ich wollte gerade Programme mit apt-get installieren, welche in einer Datei aufgelistet waren.
Meiner ersten zwei Versuche:

apt-get install "cat packete.txt"
apt-get install 'cat packete.txt'

sind mit der Fehlermeldung:

E: Couldn't find package cat packete.txt

Erst mit dem Befehl:

apt-get install `cat packete.txt`

hat es funktioniert.

Kann mir mal jemand erklären was genau die Unterschiede zwischen "" und '' und `` ist?
Wie interpretiert die BASH oder apt-get was?

Danke!
Deine Unterstützung für Freie Software kostet dich nur wenige Minuten: www.fsfe.org/support

Ich spreche von Freier Software!

ernohl
Beiträge: 1190
Registriert: 04.07.2002 08:11:56
Wohnort: HL

Re: Unterschied zwischen "" und '' und ``

Beitrag von ernohl » 22.08.2002 23:16:56

BeS hat geschrieben:Kann mir mal jemand erklären was genau die Unterschiede zwischen "" und '' und `` ist?
Wie interpretiert die BASH oder apt-get was?
Die bash interpretiert!
"echo Zeichenkette" kennzeichnet eine Zeichenkette, die als *ein* Argument angesehen wird.
`kommando` wird als Kommando ausgeführt und der Output als Argument übergeben.

Bsp.: Schreibe Dir ein simples spript (z.B. script.sh) mit folgendem Inhalt:
echo 1. Argument=$1
echo 2. Argument=$2

Rufe auf:
bash script.sh echo a
bash script.sh "echo a"
bash script.sh `echo a`
Gruß
ernohl

Benutzeravatar
BeS
Moderator
Beiträge: 3236
Registriert: 17.04.2002 18:30:21
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von BeS » 22.08.2002 23:23:16

Hi,
danke für die schnelle Antwort!
Nur noch eine kleine Frage dazu. "" und '' haben die gleiche Bedeutung, oder ?!? Bei dem Bespiel mit den script konnte ich da nämlich keinen Unterschied feststellen.
Deine Unterstützung für Freie Software kostet dich nur wenige Minuten: www.fsfe.org/support

Ich spreche von Freier Software!

ernohl
Beiträge: 1190
Registriert: 04.07.2002 08:11:56
Wohnort: HL

Beitrag von ernohl » 22.08.2002 23:33:31

BeS hat geschrieben: "" und '' haben die gleiche Bedeutung, oder ?!?
Die Frage habe ich befürchtet! :-) Dafür ist es mir zu spät, um das einigermaßen verständlich zu beantworten. ;-)
Es macht einen Unterschied! Nicht in diesem Script, aber wenn das Argument weiter übergeben wird. Auch nützlich für Verschachtelung von ZK.
Ich denke, in diverser Doku ist es besser erklärt, als ich das jetzt könnte. Wahrscheinlich unter 'man bash'.
Gruß
ernohl

keyem
Beiträge: 303
Registriert: 23.08.2002 07:50:28
Wohnort: Berlin

Beitrag von keyem » 23.08.2002 08:14:21

der wesentliche unterschied besteht in der interpretation von metazeichen (zur bildung von regulären ausdrücken) und variablen durch die shell: innerhalb der einfachen anführungszeichen findet keinerlei interpretation statt, während zwischen doppelten anführungszeichen variablen usw. ausgewertet werden.

keyem

p.s.
das freut mich ja ganz besonders, dass ich mich als debian-frischling trotzdem gleich nützlich machen kann. :)

Antworten