Made POSIX compatible to work with dash #209
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I noticed these errors when running Gazebo:
process[gazebo-2]: started with pid [12052]
/home/isura/catkin_ws/src/gazebo_ros_pkgs/gazebo_ros/scripts/gzserver: 5: [: Linux: unexpected operator
process[gazebo_gui-3]: started with pid [12061]
/home/isura/catkin_ws/src/gazebo_ros_pkgs/gazebo_ros/scripts/gzclient: 5: [: Linux: unexpected operator
It turns out that /bin/sh used to be a symlink to bash which is okay with "==" for string compare. In later versions of Debian/Ubuntu /bin/sh points to a lighter alternative to bash called dash. Dash is more strict in its POSIX compliance and thus will not accept "==" for string compare.
See references:
http://askubuntu.com/questions/141928/what-is-difference-between-bin-sh-and-bin-bash
http://stackoverflow.com/questions/1089813/bash-dash-and-string-comparison