> Why is the "rosrun ABSOLUTE_FILENAME [ARGS]" necessary for some > scripts? Because if I put #! /usr/bin/env rosrun in a script file named foobar.xyz, make foobar.xyz executable, and call $ ./foobar.xyz arg1 arg2 arg3 then bash will effectively call rosrun ./foobar.xyz arg1 arg2 arg3 (So actually the syntax is just rosrun FILENAME [ARGS], not necessarily the absolute path ) So the syntax is merely for shebang, NOT for anyone ever putting rosrun /path/to/filename into any script or the command line. > From the perspective of command-line usage, it doesn't add > much value as it is equivalent to the user typing: > > ./ABSOLUTE_FILENAME [ARGS] Absolutely, yes. That's my working assumption, the reason why I think rosrun could be used instead of rosbang. That's what rosbang would also do. So a rosbang command would be totally useless for command line usage. The syntax of rosbang would equally be rosbang FILENAME [ARGS] and its effect would be the same as ./FILENAME [ARGS] There is no reason why any user would ever type rosbang into the command line. It would exclusively be used in #! /usr/bin/env rosbang > If there is a special need for a script, I would suggest a special > option, e.g. '-f', to flag the different usage and make it > unambiguous. No, not only is that not necessary, but it would make it impossible to use rosrun that way, as #! /usr/bin/env rosrun -f is not possible. I was not aware of the rosexec thread. Went through it now. Introducing rosexec PACKAGE/KEY as syntax would overlap with rosexec directory/filename syntax, as far as i can see those could never be merged into one command without the possibility of surprising the user with unexpected actions in rare cases. So if that is still a perspective, a separate command like rosbang might be wiser.