如何使CD在bash脚本中工作

时间:2019-06-21 15:45:43

标签: bash

问题陈述:创建别名cdff,它将查找目录的首次出现(作为参数给出)并将其分配给变量FILEPATH。

别名cdf ='cd $ FILEPATH'应该更改为该目录。

例如,命令“ cdff TestDir”应设置FILEPATH = Dir1 / Dir2 / TestDir

因此,如果我要转到TestDir,则只需运行“ cdff TestDir”,然后运行“ cdf”,并由于将导出变量FILEPATH而期望将目录更改为Dir1 / Dir2 / TestDir

在.bashrc中,我正在创建此别名,

  

别名cdff ='。/ cdfindfirstoccurance.sh'

     

别名cdf ='cd $ FILEPATH'

cdfindfirstoccurance.sh

  

export FILEPATH =`find。 -name“ $ 1 ” -print -quit`#设置变量FILEPATH供别名cdf以后使用

     

回显“ FILEPATH:$ {FILEPATH}”

     

#cd $ {FILEPATH}#我理解为什么这行不通。

由于我在执行cdff时导出变量FILEPATH,因此我期望别名cdf可以正常工作。 当我执行cdff时,当我打印“ echo $ FILEPATH”时,它只是空的。

编辑: 一种更好的解决方法受到欢迎。 现在唯一的方法是使用find命令,然后用鼠标复制输出并将其提供给cd。 我试图避免使用鼠标,也不想键入整个路径。

EDIT2: 如评论中所述,将别名从更改为

  

别名cdff ='。/ cdfindfirstoccurance.sh'

  

alias cdff ='源cdfindfirstoccurance.sh'

工作正常。

0 个答案:

没有答案