gpt4 book ai didi

linux - 在 Linux 中递归添加 bash 脚本作为命令?

转载 作者:太空狗 更新时间:2023-10-29 12:28:14 27 4
gpt4 key购买 nike

总的来说,我对 Bash 和 Linux 还很陌生。我已经创建了几个脚本,我希望能够通过键入命令而不是目录和可执行文件来使用它们。如果这有所作为,我正在使用 Debian Jessie。

我的一个脚本的路径是 ~/Scripts/DIR_1/My_Script.sh 而另一个在 ~Scripts/DIR_2/My_Other_Script.sh 中。我希望 Scripts 目录中包含的所有脚本都被索引为命令,而不管目录/路径深度如何。

我已将此文本附加到我的 .bashrc 文件的末尾...

PATH=${PATH}:$(find ~/Scripts -type d | sed '/\/\\./d' | tr '\n' ':' | sed 's/:$//')

由于我对这类事情很陌生,所以我不得不从 here 中窃取该行.

当我尝试使用主文件夹(或其他任何地方)的子目录从命令行运行 My_Script 时,我得到 My_Script: command not found

我承认我可能误解了将 bash 脚本添加到命令行的过程。

如何以递归方式将 bash 脚本添加为命令?我目前使用的流程有什么问题?

最佳答案

我认为您的问题是您没有放置 .sh,它是您文件名的一部分。

通常情况下,在仅输入第一个字母后按 Tab 键应该会完成命令直到出现歧义(如果没有歧义则完全结束)。如果有歧义,再次按 Tab 键会显示选项。所以在你的情况下,如果你输入 My<tab><tab>你应该有选项 My_Script.shMy_Other_Script.sh显示。如果你输入 My_Script<tab>它应该通过输入 My_Script.sh 来完成

编辑

我忘了准确地说,您可以通过执行 echo $PATH 检查 PATH 的值.这将允许您检查您复制的命令是否执行了您想要的操作。

关于linux - 在 Linux 中递归添加 bash 脚本作为命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35516479/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com