[mkgmap-dev] --bounds not accepting ~ (tilde)
From GerdP gpetermann_muenchen at hotmail.com on Fri Feb 15 06:46:14 GMT 2013
Hi, a quick check in the source shows that it is not easy to implement. We have at least these parms to specify a path or file name or a list of them: --style-file --bounds --coastlinefile --input-file --output-dir --license-file --precomp-sea Each parm is handled in its own way, esp. the related checks for file existance etc. A possible solution would be a static utility method like static public File createFile(String path){ if (path.startsWith("~/")) ... return new File(...) } I am not convinced that it's worth all the work. Gerd Rich wrote > On 2013-02-14 23:48, Marko Mäkelä wrote: >> Hi Gerd, >> >>> to be precise: >>> I tested with ubuntu default shell. >>> >>> java -jar mkgmap.jar ~/xyz.osm.pbf works >>> java -jar mkgmap.jar --bounds=~/bounds_20121118.zip xyz.osm >>> gives file not found error for the bounds file >> >> That would probably be the Bourne again shell (bash), which is the >> default interactive shell in Debian. It will expand ~ at the start of an >> argument, but not in the middle. >> >> man 1 bash says: >>> Tilde Expansion >>> If a word begins with an unquoted tilde character (`~'), all of the >>> characters preceding the first unquoted slash (or all characters, if >>> there is no unquoted slash) are considered a tilde-prefix. >> >> Note the 'begins with'. > > that's different. that part refers to tilde prefix being ~ > <username> > - > for example, ~rich would be my home directory, but ~user would be user's > home directory. > > that's not bash specific - it is a unix-specific concept, and it is the > current user's home directory. it would be really nice if it was also > supported in scenarios like --bounds=~/user/bounds > > hmm, turns out wikipedia page on tilde even has a section on "computing" > :) > > http://en.wikipedia.org/wiki/Tilde#Directories_and_URLs > >> IMO the simplest solution would be to accept this syntax if it is not >> accepted yet: >> >> java -jar mkgmap.jar --bounds ~/bounds_20121118.zip xyz.osm >> >> Then, the ~ would begin a word, and the shell would expand it. >> >> A workaround is to write >> >> java -jar mkgmap.jar --bounds="$HOME"/bounds_20121118.zip xyz.osm >> >> (I usually use "" around variables in shell scripts, in case the >> variable value contains $IFS characters, such as spaces. I guess that >> defining HOME='/home/j. random user' could break some badly written >> scripts.) >> >> Marko > -- > Rich > _______________________________________________ > mkgmap-dev mailing list > mkgmap-dev at .org > http://lists.mkgmap.org.uk/mailman/listinfo/mkgmap-dev -- View this message in context: http://gis.19327.n5.nabble.com/bounds-not-accepting-tilde-tp5749360p5749496.html Sent from the Mkgmap Development mailing list archive at Nabble.com.
- Previous message: [mkgmap-dev] --bounds not accepting ~ (tilde)
- Next message: [mkgmap-dev] --bounds not accepting ~ (tilde)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the mkgmap-dev mailing list