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

相关推荐
YJlio16 分钟前
PsService·下(7.21):Find/SetConfig 与服务的启动/停止/重启/暂停/恢复
linux·运维·服务器
波诺波18 分钟前
环境管理器
linux·前端·python
草莓熊Lotso20 分钟前
C++ 继承特殊场景解析:友元、静态成员与菱形继承的底层逻辑
服务器·开发语言·c++·人工智能·经验分享·笔记·1024程序员节
_OP_CHEN1 小时前
Linux系统编程:(六)深入理解 Linux 软件包管理器——从原理到 yum 实战全攻略
linux·运维·服务器·yum·软件包管理器·linux生态
路過的好心人1 小时前
Nginx 的多个场景配置
运维·网络·nginx
9ilk1 小时前
【基于one-loop-per-thread的高并发服务器】--- 前置技术
运维·服务器·c++·笔记·后端·中间件
qq_343247031 小时前
docker 下搭建 nacos
运维·docker·容器
人工智能训练1 小时前
Ubuntu系统中Docker的常用命令总结
linux·运维·人工智能·ubuntu·docker·ai
我命由我123452 小时前
IDEA - IDEA 快速回到页面首尾、页面快速滑动、快速定位到指定行
java·运维·ide·后端·java-ee·intellij-idea·intellij idea
AI小小怪6 小时前
在Linux服务器上安装CVAT (Docker 28.5.1)
运维·docker·容器·数据标注·cvat