在平时写脚本的时候,想做到该脚本在任何地方都可以调用,一般有以下几种方式:
- 使用绝对路径
- 设置路径宏
- 使用dirname自动获取路径
关于第1种,使用绝对路径的话,如果我们用到的其他文件、tool都是固定路径的话,是没问题的。
关于第2种,我们可以在脚本开头设置一个变量,比如__FILE_PATH="/home/test/"
如此,在使用其他文件的时候,可以使用宏+相对路径的方式,比如读取/home/test/test.log文件,可以写成
cat ${__FILE_PATH}test.log
不过既然都这么写了,为什么不试试神奇的dirname命令呢。
关于dirname命令
这个命令的描述为:dirname命令去除文件名中的非目录部分,删除最后一个“\”后面的路径,显示父目录
这个命令要放在shell脚本中使用,在命令行使用意义不大
[v:Desktop]#dirname /etc/systemd/system.conf
/etc/systemd
[v:Desktop]#dirname /etc/system