在你的脚本结尾,把行:
PATH=${PATH}:$(find ~/code -type d | tr '\n' ':' | sed 's/:$//')
这将附加您的〜/ code树中的每个目录到当前路径。我不喜欢自己的想法,喜欢只有几个目录拥有我自己的可执行文件,并明确列出它们,而是每个自己的目录。
如果要排除隐藏的所有目录,您基本上需要删除每行具有序列“/”的行。 (以确保您不检查隐藏目录下的子目录):
PATH=${PATH}:$(find ~/code -type d | sed '/\/\\./d' | tr '\n' ':' | sed 's/:$//')
这将阻止您获取诸如〜/ code / level1 / .hidden / level3 /的目录(即,一旦检测到它们被隐藏,它将停止在子树中搜索)。如果你只想保留隐藏的目录,但仍然允许它们下的非隐藏目录,请使用:
PATH=${PATH}:$(find ~/code -type d -name '[^\.]*' | tr '\n' ':' | sed 's/:$//')
这将允许〜/ code / level1 / .hidden2 / level3 /但不允许〜/ code / level1 / .hidden2 / .hidden3 / since -name只检查文件的基本名称,而不是完整路径名。