如何在切换到脚本所在的目录时触发unix脚本的执行

时间:2011-08-05 21:52:16

标签: unix

我想执行一个脚本,当用户遍历某个目录时为该用户创建环境变量。

1 个答案:

答案 0 :(得分:0)

如果您有一个关于如何使用此功能的真实示例,这将有所帮助,但基于您的标题和问题正文如何开始?

 cat specialVarSetter.bash
 #! /bin/bash

 targetDir=/path/to/special/dir
 cd $1

 if [[ $PWD == "$targetDir" ]] ; then
    userVar1=xxxx
    userVar2=yyyy
 fi

 #your real stuff goes after this
 runProgram 1
 runProgram 2

使用

 chmod 755 specialVarSetter.bash
 specialVarSetter.bash /path/to/special/dir

如果您只是希望用户输入“dir”,则可以添加baseDir=/path/to/special之类的内容并更改为cd $baseDir/$1。测试将执行,您将设置变量。

另外,我认为csh / tcsh本身可能有这样的功能,如果tcsh有,那么zsh也会拥有它(无论如何都可以拥有它)。这取决于您对用户环境的控制程度。 (我在想一些名为CDPATH或相关的东西?zsh人,有点帮助?​​)

我希望这会有所帮助。