执行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 这个文件也可以看到

相关推荐
爱装代码的小瓶子15 小时前
Linux下的权限与文件
linux·运维·服务器
ggaofeng16 小时前
linux中mount的本质是什么?自己如何实现一个伪文件系统
linux·mount·自己实现伪文件系统
敲上瘾16 小时前
Linux系统C++开发环境搭建工具(二)—— etcd 使用指南
linux·c++·etcd
励志不掉头发的内向程序员16 小时前
【Linux系列】解码 Linux 内存地图:从虚拟到物理的寻宝之旅
linux·运维·服务器·开发语言·学习
Fuly102416 小时前
使用docker本地部署dify
运维·docker·容器
woshihonghonga17 小时前
停止Conda开机自动运行方法
linux·人工智能·conda
遇见火星20 小时前
Ubuntu Docker 容器化部署教程
linux·ubuntu·docker
ybb_ymm21 小时前
mysql8在linux下的默认规则修改
linux·运维·数据库·mysql
半梦半醒*21 小时前
zabbix安装
linux·运维·前端·网络·zabbix
Panda__Panda1 天前
docker项目打包演示项目(数字排序服务)
运维·javascript·python·docker·容器·c#