Еще один вариант — разрезать строку:
echo ${name##* }
Это разрежет строку и сохранит часть, начинающуюся с последнего пробела до конца.
${name <-- from name
## <-- trim the front
* <-- matches anything
' ' <-- until the last ' '
}
SSH выполняет удаленную оболочку. Чтобы добиться согласованного поведения при локальном выполнении, запустите локальную оболочку.
if [ "$P_SERV" = "$X_SERV" ] ; then
sh -c "$P_CMD" >> "$P_OUT"
else
ssh "$P_SERV" "$P_CMD" >> "$P_OUT"
fi
Не забывайте двойные кавычки вокруг замен . Например, без двойных кавычек, если P_CMD
содержит символы подстановки, они будут локально раскрыты в ssh $ P_SERV $ P_CMD
.