Shell文件判断条件
- -e filename:如果 filename 存在,则为真。
- -d filename:如果 filename 为目录,则为真。
- -f filename:如果 filename 为常规文件,则为真。
- -L filename:如果 filename 为符号链接,则为真。
- -r filename:如果 filename 可读,则为真。
- -w filename:如果 filename 可写,则为真。
- -x filename:如果 filename 可执行,则为真。
- -s filename:如果文件长度不为 0,则为真。
- -h filename:如果文件是软链接,则为真。
- filename1 -nt filename2:如果 filename1 比 filename2 新,则为真。
- filename1 -ot filename2:如果 filename1 比 filename2 旧,则为真。
Shell $0
我们已经知道在Shell中$0
表示Shell脚本的文件名,但在有脚本调用的情形中,子脚本中的$0
会是什么值呢?我们通过下面的实例来看。
已测试系统列表:
- Mac OS X EI Capitan 10.11.6
- Ubuntu 16.04 LTS (GNU/Linux 4.4.0-28-generic x86_64)
搭建Hadoop源代码阅读环境
Mac OS JAVA_HOME设置
在MacOS上使用DMG文件安装了Jdk8 之后,在默认路径下找不到JDK的HOME路径:
1 | $ which java |
在MacOS下可以使用/usr/libexec/java_home
命令来定位JAVA_HOME
: