On 07/06/2011 10:56 PM, Kevan Miller wrote: > > On Jul 2, 2011, at 4:13 AM, Shawn Jiang wrote: > >> I noticed that there are no extensions for all sh scripts of geornimo. >> Does anyone know what's the background of this ? >> >> >> GERONIMO_HOME\bin\client >> GERONIMO_HOME\bin\deploy >> GERONIMO_HOME\bin\geronimo >> GERONIMO_HOME\bin\register-service >> GERONIMO_HOME\bin\shutdown >> GERONIMO_HOME\bin\startup > > I believe it started with bin/geronimo -- which was based on the karaf > command and that convention was carried over. Run 'svn log > framework/configs/karaf-framework/src/main/distribution/unix-shell/bin/geronimo' > for more details. > > I know some people like to have <command>.bat and <command> that way invoking > a command is the same on linux/windows. Personally, I think we should have > maintained our existing conventions (e.g. geronimo.sh, etc). I'm somewhat > used to typing 'geronimo', now. So, don't have a strong opinion. Would value > input from users. > > --kevan
The file name suffix, is primarily for the benefit of windows-type machines which need the file extension for determining run-time interpretation. It would probably be necessary if the *nix shell script files appeared in a Windows OS installation of Geronimo, only so Windows users do not try to execute them. Otherwise, the suffix is primarily for human visualization, so one can know the intention of the script by looking at the name. Without the suffix, one commonly pre-judges the script to be binary (though I will `head -1 file` it). If the source is browsed in a Web Browser, having the suffix allows user-defined methods for viewing the files, instead of the browser and server assuming the suffix-less file is binary. Most of us don't double-click on unix scripts from a GUI, so it is not necessary to have the suffix extensions for the GUI's identification. I would say a common documentation on how to execute the bat/sh scripts (without deviation for OS differences) is more important than GUI recognition of the file type. Most new users do not care how the script is interpreted. Most old users already know. Besides, having a ".sh" extension does not tell you if the script is bash, csh, ksh, etc... So if you want to know the interpreter of a ".sh" file, you still have to look. -RG