切换目录就和Windows中打开文件夹的操作是一个性质,所以非常基础而重要。很多程序都会基于某个目录开始工作,如果不事先切换到对应的目录,就会导致程序执行失败。这个在脚本执行的时候,经常碰到,特别是多个shell脚本(.sh后缀结尾的文件)链式执行启动一系列的服务,每一个shell脚本都在对应的工作目录里运行,也就是说,需要在执行前将当前工作目录切换到那个目录。一般会在sh文件的开始切换当前目录。
当然,不是说一定要切换当前目录后,才可以看到这个目录下的所有内容,我们之前说的ls等命令,可以直接输入一个路径查看对应的目录的内容,而不需要切换当前目录。如:
ls /data/test/cjjjs/
就可以列出/data/test/cjjjs/的文件。所以,更多的时候,当前工作目录是程序执行的时候需要的。而且,这个当前工作目录是全局的,所以多个shell脚本切换目录会相互影响。因此,在一个shell脚本执行,或者你敲shell命令时,需要先切换一下当前目录为你需要的。