【发布时间】:2017-02-05 07:27:21
【问题描述】:
我对 bash 及其工作方式有点陌生,但我想知道在 bash 中是否有访问可能由于用户在 bash 中安装它的位置而改变其地址的目录。 (这种情况时有发生,所以一定有)
例如:
我有一个程序,其目录为../program-directory/..
但是随后用户下载了/extra-directory/中的程序文件,造成了我们有/extradirectory/program-directory的情况
然后我有一个在 ../program-directory/script-directory/script/example.bash 中运行的 bash 脚本
然后我想从example.bash 脚本中grep -rnw 'sample text' /program-directory
有没有什么简单的方法可以让我在program-directory 中使用 grep 而不用担心用户安装此程序的位置
仅供参考,我查看了Can a Bash script tell which directory it is stored in?,但我需要从../program-directory 的子目录中调用的脚本中grep 到../program-directory
【问题讨论】:
-
这是一个非常令人困惑的描述,我不确定你在问什么。你是说(在你的最后一行)你需要记住一个目录,以便以后能够切换回它?如果是这样,
$OLDPWD会保存$PWD的先前值。但是,您最好发布一些代码来显示您正在尝试做什么、您期望发生什么以及如果您走到了那一步,它会在哪里失败。 -
你只是想要一个相对路径,如
grep -rnw 'sample text' ../..? -
抱歉我写的最后一行很愚蠢,我只是想用 example.bash 脚本访问 ../program-directory
-
@ccarton 是的,我想是的
标签: linux bash scripting grep directory