【问题标题】:Add an entire directory with subdirectories to path将带有子目录的整个目录添加到路径
【发布时间】:2017-05-15 12:40:52
【问题描述】:

如何将带有子目录的整个目录添加到我的路径中?我需要它从我的 python 目录中获取至少 2 深度。 python/x/y/MYEXEpython/x/MYEXE。谢谢!我知道如何添加它,我只需要所有路径。

python
├── artist
│   ├── curses
│   └── draw
├── binary
├── check
│   ├── pycheck.py
│   └── README.md
├── classexample
│   └── myclass
├── clixr
│   ├── clix
│   └── crcards.json
├── conn4generator
├── conway
│   ├── cell_checker_lib.py
│   └── game
├── elementify
│   ├── elementify
│   └── elements.txt
├── encryption
│   ├── encoder1
│   │   ├── decode
│   │   └── encode
│   └── encoder2
│       ├── code
│       └── decode

【问题讨论】:

标签: python bash path


【解决方案1】:

你可以这样添加它们:

PATH=$PATH$( find $HOME/scripts/ -type d -printf ":%p" )

看到这个answer

但正如链接页面中提到的,不建议涉及安全风险。

【讨论】:

  • 为什么不使用find $HOME/python -type d -maxdepth 2 -not -path ".git/*"
  • 因为您没有要求忽略目录也不是限制到 2 深度,而是添加 至少 2 深度
【解决方案2】:

PATH=$PATH$( find $HOME/python/ -maxdepth 2 -type d -not -path "/.git/*" -printf ":%p" )

  • type d = 目录
  • maxdepth 2 = 只下 2 个目录
  • not path ".git/*" = 不包括 .git 的东西
  • printf ":%p" = 将其转换为 path:path1 格式

感谢@Esteban 提供printf 标志

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-11
    • 2012-01-24
    • 1970-01-01
    • 2014-02-15
    • 2016-06-03
    • 1970-01-01
    • 1970-01-01
    • 2011-11-06
    相关资源
    最近更新 更多