2016-07-16 37 views
3

Mit bash hatten wir die Möglichkeit, Multilinien von stdin wie diese zu lesen cat << END. Wenn ich den gleichen Befehl aus der Fischschale versuche, bekomme ich diesen Fehler Expected a string, but instead found a redirection.So lesen Sie von der Standardeingabe mit der Fischschale

Gibt es eine Möglichkeit, von Stddin mit der Fischschale zu lesen ?? !!

Antwort

7

"Heredocs", auf die Sie sich beziehen, sind nicht in Fisch. Dies ist, weil ihre Hauptfunktion

cat <<END 
some 
multiline 
string 
END 

ist, die durch gerade echo mit einem mehrzeiligen literal Verwendung repliziert werden kann, wie

echo "some 
multiline 
string" 

oder printf "%s\n" mit einem Argument pro Zeile, wie

printf "%s\n" "some" "multiline" "string" 
+0

Danke für die Antwort, aber ich habe Katze wie ein Beispiel verwendet, ich möchte diese Funktion nicht mit 'Katze' verwenden. Ich suche das mit 'base64-d' zu verwenden. – Sidahmed

+2

Dann werden Sie die Ausgabe von 'echo' oder' printf' in 'base64' pipen –

+0

Ich sehe, danke Mann. Ich mag die Fischmuschel sehr, aber es gibt eine Menge verwirrender Funktionen in diesem Interpreter, schade. – Sidahmed