执行shell脚本时为什么要写成./test.sh,而不是test.sh?

  • 一定要写成 ./test.sh,而不是 test.sh

  • 运行其它二进制的程序也一样!

  • 直接写 test.sh,linux 系统会去 PATH (系统环境)里寻找有没有叫 test.sh 的!

  • 而只有 /bin, /sbin, /usr/bin,/usr/sbin 这些路径是写在了PATH 里!

  • 你的当前目录通常不在 PATH 里,所以写成 test.sh 是会找不到命令的,执行 ./test.sh 就是告诉系统说,就在当前目录找test.sh然后执行它!

你可以用这条命令查看一下你系统的PATH都有哪些

bash 复制代码
echo $PATH

或者打开/etc/profile 这个文件也可以看到

相关推荐
宁zz11 小时前
乌班图安装jenkins
运维·jenkins
无名之逆11 小时前
Rust 开发提效神器:lombok-macros 宏库
服务器·开发语言·前端·数据库·后端·python·rust
大丈夫立于天地间11 小时前
ISIS协议中的数据库同步
运维·网络·信息与通信
cg501711 小时前
Spring Boot 的配置文件
java·linux·spring boot
暮云星影12 小时前
三、FFmpeg学习笔记
linux·ffmpeg
rainFFrain12 小时前
单例模式与线程安全
linux·运维·服务器·vscode·单例模式
GalaxyPokemon12 小时前
Muduo网络库实现 [九] - EventLoopThread模块
linux·服务器·c++
mingqian_chu13 小时前
ubuntu中使用安卓模拟器
android·linux·ubuntu
xujiangyan_13 小时前
nginx的反向代理和负载均衡
服务器·网络·nginx