#!/bin/bash
echo "===========3333333====="
if [ $0 == "test" ] || $0 == "all" ];then
echo "---"
fi
Endlosschleife Ausgang:warum dieses Shell-Skript ausgegeben, so seltsam
===========3333333=====
===========3333333=====
===========3333333=====
===========3333333=====
===========3333333=====
===========3333333=====
===========3333333=====
===========3333333=====
===========3333333=====
===========3333333=====
===========3333333=====
===========3333333=====
===========3333333=====
===========3333333=====
===========3333333=====
===========3333333=====
===========3333333=====
===========3333333=====
obwohl ich weiß, dass das falsch eckigen Klammern Missing if [$ 0 == "test"] || [$ 0 == "all"]; dann aber warum so ausgeben ???
Herstellung Während diese Sinn macht, bin ich immer noch nicht sicher, welches Wort der Rekursion initiiert? Möchten Sie mehr erklären? – Inian
Es gibt einige interessante Dinge zu beachten. Insbesondere rekursiert das Skript, wenn es als './Test.sh' aufgerufen wird, aber * nicht *, wenn es als' bash test.sh' aufgerufen wird, da dies zu einem anderen $ 0 führt. –
@ JanHudec: Ja, guter Punkt! War kurz davor, es zu erwähnen! – Inian