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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2021-04-26 linux系统中如何将一行数据转换为一列数据
2021-04-26 linux系统中如何把一列数据转换为一行数据