bash - 如何从任何文件夹运行我的 bash 脚本
问题描述
我正在尝试从另一个文件夹运行我的 bash 脚本,我希望它从我想要的文件夹中执行
我应该怎么办 ?
我试图在一开始就使用 find 但它不起作用!
find /path/to/Files -type d -exec Notes-Khaled-Mustafa.sh {} \;
解决方案
./Notes-Khaled-Mustafa.sh {}
只需将当前文件夹路径作为脚本的参数。
这不是你想要的。find
您希望使用您通过命令列出的文件夹作为其当前执行文件夹来执行您的脚本。
这是通过调用 subshell 并在其中执行 a 来完成的cd
。
在您的 bash 会话中,请尝试:
find . -type d -execdir /path/to/Note-khaled-mustafa.sh \;
所以不是“ ./Note-khaled-mustafa.sh
”,而是“ /absolute/full/path/to/Note-khaled-mustafa.sh
”
这用于-execdir
将目录更改为每个匹配的路径。如果您的版本find
没有-execdir
,请改用:
find . -type d -exec sh -c 'cd "$1" && /path/to/Note-khaled-mustafa.sh' sh {} \;
推荐阅读
- sonarqube - SonarScanner for .NET 在 GitHub Actions (.NET 5) 中失败
- vue.js - Vue父母的数据没有更新孩子的道具
- javascript - 尝试使用 React 获取 useParams() 函数时未定义
- wordpress - 包括与 Elementor 不兼容的外部 jquery 插件
- node.js - 如何将环回连接到时间刻度数据库?
- sql-server - 获取 Pymssql 不是 AWS RDS Microsoft SQL Server 数据库的脚本化数据库连接问题
- ios - 为什么 Appium Inspector 很慢?
- android - 某些设备中未生成 Firebase 令牌
- java - 在 Java 中创建一个新数组的成本是多少?
- r - 如何使用 geom_text 在箱形图(ggplot2)中每个框的顶部添加文本?