"[email protected]"
scheint ,
verschwinden zu machen. z.B.
param="123 1,2"
set echo $param
"[email protected]"
Dies wird "123 1 2" anstelle von "123 1,2", Echo, aber in einigen Fällen wird ,
als Wert auf einen Befehl benötigt wird.
Und das scheint zu Bash-Version zu sein, mit Bash 4.1.2 ist das Ergebnis korrekt, aber mit 4.2.46 fehlt das Komma.
Edit:
Kurz gesagt, vielleicht ist es nice
schuld:
I unset IFS
tat und im Terminal den Testfall gab ich richtig funktioniert, aber nicht mit meinem Skript.
Ich bin eigentlich auf ein Init-Skript arbeiten, überprüfte ich die action()
Funktion in /etc/init.d/functions
und fügte einige Debug-Code:
echo "[email protected]" # added by me
unset IFS # added by me
"[email protected]" && success $"$STRING" || failure $"$STRING"
der Befehl Echo korrekt ist (nice -n -10 ovs-vswitchd ... --socket-mem 1024,1024
), aber im ps
Ergebnis der Der von nice ausgeführte Befehl wird ovs-vswitchd ... --socket-mem 1024 1024
.
Ich fing an zu denken, vielleicht ist es nice
zu beschuldigen.
Überprüfen Sie die IFS auf der eine es ist kaputt. – 123
Dies scheint wie ein Fehler in bash 4.1. Ich überprüfe das [changelog for bash 4.2] (https://github.com/sunny256/bash/blob/master/CWRU/changelog) um zu sehen, ob etwas damit zusammenhängt. – fedorqui
Es funktioniert gut mit der Version 4.2.47 ... – Joda