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

相关推荐
FL1717131424 分钟前
UR5e机器人Matlab仿真
linux·matlab·机器人
不知几秋4 小时前
数字取证-内存取证(volatility)
java·linux·前端
珊珊而川6 小时前
ChatPromptTemplate创建方式比较
服务器·langchain
欧先生^_^7 小时前
Linux内核可配置的参数
linux·服务器·数据库
若风的雨8 小时前
【deekseek】P2P通信路由过程
服务器·网络协议·p2p
海尔辛8 小时前
学习黑客5 分钟读懂Linux Permissions 101
linux·学习·安全
Python私教8 小时前
征服Rust:从零到独立开发的实战进阶
服务器·开发语言·rust
王RuaRua9 小时前
[数据结构]5. 栈-Stack
linux·数据结构·数据库·链表
曼岛_9 小时前
[架构之美]linux常见故障问题解决方案(十九)
linux·运维·架构
tan180°9 小时前
Linux进程信号处理(26)
linux·c++·vscode·后端·信号处理