如何在我的机器上没有重复的自定义bash脚本目录,并将其添加为使用PATH拾取的链接?

如何在我的机器上没有重复的自定义bash脚本目录,并将其添加为使用PATH拾取的链接?,bash,path,linker,Bash,Path,Linker,我的MBP机器上有一个/.cust\u dev\u cmds/目录,它是使用git repo的父系统管理员工作目录的一部分。我希望能够: 不必在我的.bash_配置文件中使用for循环来获取所有的*.sh文件。 将目录添加到.bash_配置文件中的路径和导出行。 从我的.bash_档案 导出路径=/Users//Public/sharable dev脚本:$PATH 这确实会显示为echo$PATH,但当我尝试从我创建的脚本中调用函数时,该脚本直接在.bash_概要文件中进行寻源,就像上面的第1

我的MBP机器上有一个/.cust\u dev\u cmds/目录,它是使用git repo的父系统管理员工作目录的一部分。我希望能够:

不必在我的.bash_配置文件中使用for循环来获取所有的*.sh文件。 将目录添加到.bash_配置文件中的路径和导出行。 从我的.bash_档案 导出路径=/Users//Public/sharable dev脚本:$PATH 这确实会显示为echo$PATH,但当我尝试从我创建的脚本中调用函数时,该脚本直接在.bash_概要文件中进行寻源,就像上面的第1点一样

使用内置命令创建目录 mkdir测试dir 使用我的一个自定义文件在该目录中创建一个简单的readme.md: mkr!!:1. 我得到>>>未找到mkr:命令 请使用任何类型的链接,以避免计算机上存在重复的目录结构。 在这里阅读任何好的解释而不使用10美元的单词都是非常好的。 定义一种方法来测试链路的工作情况和通过路径的工作情况。如果可以使用declare-F之类的东西来查看目录中的脚本实际上正在成为shell中可调用函数的一部分,那也将是一件好事。 有人知道这样做的命令吗? 对于共享网络目录来说,这一点要更进一步。我已经通过apple>System Preferences>share创建了一个共享目录,并启用了在公用文件夹中共享该目录的功能。 有没有一个教程可以用VirtualBox和一个从MBP共享目录访问命令的Ubuntu客户机来概括这一点? 我已经意识到了第一点,所以问题实际上是从第二点开始的,所以没有人会建议第一点。我读过一些关于链接的文章,但是我遇到的大多数描述链接的文章都很难理解,尤其是当我希望将此功能添加到PATH时。我相信答案可能是围绕着如何遵循链接,但最好是备份和下注-先挖掘链接-然后在没有链接的情况下适当导出我的目录,并最终获得这种情况的正确解决方案


在我自己尝试一些黑客攻击之前,关于链接的最后一个想法是,我是否只需要添加一个到公共目录的链接,并以某种方式放置一个标志来查看/Public中的所有目录,还是最好深入到/Public/shared directory/.cust\u dev\u cmds?任何指示都将不胜感激。我的目标是能够为各种任务提供一些自定义命令目录,并最终在网络/实例之间提供这些目录。

当您需要在/.cust\u dev\u cmds/中的文件中编写的所有函数时,通常的方法是寻找所有文件的来源。 如果要避免循环,可以使用

utildir="$HOME/.cust_dev_cmds/" # I think the path is relative to your home).
source <(cat ${utildir}/*)
之后:

# cat ask
echo "How are you?"

# cat answer
echo "Fine, thank you"
<> P>当您希望所有用户使用相同的函数集时,请考虑一个主脚本,该脚本提供所有脚本,MigScript可以使用用户=依赖的设置,如首页或版本:

# cat /Public/shared-directory/setup_functions
utildir="$HOME/.cust_dev_cmds/" # I think the path is relative to your home).
source <(cat ${utildir}/*)
source some_other_file

现在每个用户只需要源一个文件。

不清楚是什么?将source/Public/shared directory/setup\u函数添加到/etc/bash.bashrc,并记录哪些默认变量可以更改,如my\u分支、git\u用户和HOME。我没有完成编辑。我使用的是一个.bash_配置文件,其清晰性与在.bash_配置文件中查找和添加export Path=两者有关。我想知道我是否能做到这一点。我一直在测试的不仅仅是将焦点缩小到一个特定问题的需要——理解.bashrc如何与.bash_profiles一起工作。如果您希望在路径中找到函数,您应该为每个函数创建一个文件。我还需要知道shell是否只能在每个脚本中找到一个函数,或者我是否可以拥有一个函数列表?脚本中的函数在未加载时是未知的,这就是为什么您应该为它们寻找源代码。可以通过路径找到可执行文件。您不能执行调用filename:function之类的操作,也不能编写一个奇特的函数调用来搜索给定文件名中的函数。在.bash_rc和.bash_配置文件中添加echo-sourceed.bashrc和echo-sourceed.bash_配置文件,并通过调用bash和bash-login对其进行测试。您不应该在~/.bashrc中定义环境变量:请参阅
# cat /Public/shared-directory/setup_functions
utildir="$HOME/.cust_dev_cmds/" # I think the path is relative to your home).
source <(cat ${utildir}/*)
source some_other_file