Derfor bør man vel differentiere mellem bash og /bin/sh i de kommandoer der citeres i tråden her.
Jeg har lige prøvet kommandoen på en installation med en ikke opdateret version af bash og her på min desktop, som er fuldt opdateret.
Følgende (med /bin/sh) giver på begge maskiner samme output:
Kode: Vælg alt
env X="() { :;} ; echo busted" /bin/sh -c "echo stuff"
Hvorimod hvis man skifter /bin/sh ud med bash er der en klar forskel og forsøget på function definition afsløres sågar i den opdaterede version af bash
Kode: Vælg alt
env X="() { :;} ; echo busted" bash -c "echo stuff"
Hvor den med ikke opdateret bash skriver begge strenge:
Kode: Vælg alt
busted
stuff
Kode: Vælg alt
bash: warning: X: ignoring function definition attempt
bash: error importing function definition for `X'
stuff