This is simply a post of some thing that is easily ignored when programming in linux. For a while I had this idea, now start collecting.
1. In sh commands, when you have a shell file to run some commands like this
java -jar test.jar -para1
jara -jar test.jar -para2
The shell command actually pass the cr (carriage return) at the end of first line into the java parameters. This normally does not cause problems but if, just if, in the test.jar you try to creat a folder named para1. Then in linux it will creat a folder named "para1^M" and you won't be able to access it by typing
cd para1
because of that ^M symbol. so in your java code, you have to do a replace("r","") and replace("n","") before you create the folder.