为什么我的.sh命令必须在前面加上./*****.sh才能执行?

musashi 2004-09-16 09:55:41
假设一个sh命令:start.sh
那么我进入这个命令所在的路径,然后输入:
start.sh
却不能执行,
正确方法是:
sh start.sh 可以执行,
./start.sh 也可以执行,为什么?

...全文
1092 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tycool 2004-09-17
  • 打赏
  • 举报
回复
学到一招!原来只知道这样用,忘了有没有看过资料
haha886 2004-09-17
  • 打赏
  • 举报
回复
好像都是执行那些path里面的 没有的 必须全路径
XChinux 2004-09-17
  • 打赏
  • 举报
回复
据说因为有当前路径在$PATH中的话,不安全,所以还是用./a.out来的好
ccwwcsdnc 2004-09-16
  • 打赏
  • 举报
回复
./a.out
./即当前目录,../上一级目录。
你不可能把所有目录都加到路径变量$PATH中,所以执行当前目录下的文件时用./,这是习惯。
pacman2000 2004-09-16
  • 打赏
  • 举报
回复
在redhat里,默认情况下当前目录不在PATH搜索路径中。你可以修改$HOME/.bash_profile的PATH设置,把当前路径加上。
zhouqi66 2004-09-16
  • 打赏
  • 举报
回复
同意楼上的,Linux下的执行程序路径是由$PATH指定的,不包括当前路径,所以要用./指定.
suowei1979 2004-09-16
  • 打赏
  • 举报
回复
Linux不像DOS,默认的先搜索当前路径,而Linux一般情况下是按$PATH变量去搜索的,
用户的当前路径是不包含在此变量中的,所以要执行当前路径下的start.sh(必须是有可执行属性)文件,需要明示其路径,用相对路径如./start.sh或绝对路径
azoth 2004-09-16
  • 打赏
  • 举报
回复
假设你的文件在//test/start.sh
运行的话就
./start.sh
/test/start.sh
sh start.sh
3种方法
XChinux 2004-09-16
  • 打赏
  • 举报
回复
Linux不像DOS,默认的先搜索当前路径,而Linux一般情况下是按$PATH变量去搜索的,
用户的当前路径是不包含在此变量中的,所以要执行当前路径下的start.sh(必须是有可执行属性)文件,需要明示其路径,用相对路径如./start.sh或绝对路径
zdmaster 2004-09-16
  • 打赏
  • 举报
回复
看看是不是登录用户的配置文件有问题,是不是没有默认的shell。
我也是刚学,好像记得书上说过,不知道对不对?
内容概要:本文详细介绍了名为MoSca的系统,该系统旨在从单目随意拍摄的视频中重建和合成动态场景的新视角。MoSca通过4D Motion Scaffolds(运动支架)将视频数据转化为紧凑平滑编码的Motion Scaffold表示,并将场景几何和外观与变形场解耦,通过高斯融合进行优化。系统还解决了相机焦距和姿态的问题,无需额外的姿态估计工具。文章不仅提供了系统的理论背景,还给出了基于PyTorch的简化实现代码,涵盖MotionScaffold、GaussianFusion、MoScaSystem等核心组件。此外,文中深入探讨了ARAP变形模型、2D先验到3D的提升、动态高斯表示、相机参数估计等关键技术,并提出了完整的训练流程和性能优化技巧。 适用人群:具备一定计算机视觉和深度学习基础的研究人员和工程师,特别是对动态场景重建和新视角合成感兴趣的从业者。 使用场景及目标:①从单目视频中重建动态场景的新视角;②研究和实现基于4D Motion Scaffolds的动态场景表示方法;③探索如何利用预训练视觉模型的先验知识提升3D重建质量;④开发高效的动态场景渲染和优化算法。 其他说明:本文提供了详细的代码实现,包括简化版和深入扩展的技术细节。阅读者可以通过代码实践加深对MoSca系统的理解,并根据具体应用场景调整和扩展各个模块。此外,文中还强调了物理启发的正则化项和多模态先验融合的重要性,帮助实现更合理的变形和更高质量的渲染效果。

19,619

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧