那些stackoverflow上与shell相关的高票回答:
开发中有必要注意的
1.echo 使用
echo中含特殊符号,使用echo -e
2.sh
or source
sh会fork成subprocess去执行,变量在session级别不可使用
source 执行脚本,定义的变量session级别可获取简短描述,The differences are:
- When you execute the script you are opening a new shell,
type the commands in the new shell, copy the output back to your current shell,
then close the new shell. Any changes to environment will take effect only
in the new shell and will be lost once the new shell is closed. - When you source the script you are typing the commands in your current shell.
Any changes to the environment will take effect and stay in your current shell.
3.什么时候需要将参数使用双引号:
- 带有格式、特殊的字符,如换行、\、 $等使用双引号引用,在print的时候对该变量使用双引号
- 将参数传入主函数需要加双引号,避免某个参数因空格被分割成多个参数
java classname "$args"