Linux教程

linux 中调用shell脚本时指定工作目录为shell脚本所在的目录

本文主要是介绍linux 中调用shell脚本时指定工作目录为shell脚本所在的目录,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

 

1、

root@DESKTOP-1N42TVH:/home/test# ls
root@DESKTOP-1N42TVH:/home/test# ls /home/test2/*
/home/test2/a.txt  /home/test2/test.sh
root@DESKTOP-1N42TVH:/home/test# cat /home/test2/test.sh     ## shell脚本所在目录及内容
#!/bin/bash
wc -l ./a.txt
root@DESKTOP-1N42TVH:/home/test# bash /home/test2/test.sh    ## 默认的当前目录是执行脚本的目录, 而不是shell所在的目录,执行脚本的目录下没有a.txt
wc: ./a.txt: No such file or directory

 

2、利用

$(dirname $0)  ## 指定工作目录为shell脚本所在的目录

 

修改shell脚本测试:

root@DESKTOP-1N42TVH:/home/test# ls
root@DESKTOP-1N42TVH:/home/test# ls /home/test2/*
/home/test2/a.txt  /home/test2/test.sh
root@DESKTOP-1N42TVH:/home/test# cat /home/test2/test.sh
#!/bin/bash
dir=$(dirname $0)                   ## 指定工作目录为shlle脚本所在的目录
wc -l $dir/a.txt
root@DESKTOP-1N42TVH:/home/test# bash /home/test2/test.sh      ## a.txt在shell所在的目录,故可以输出行数
5 /home/test2/a.txt

 

这篇关于linux 中调用shell脚本时指定工作目录为shell脚本所在的目录的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!