0
我想執行一個腳本,在用戶遍歷到某個目錄時爲其創建環境變量。如何在切換到腳本所在的目錄時觸發執行unix腳本
我想執行一個腳本,在用戶遍歷到某個目錄時爲其創建環境變量。如何在切換到腳本所在的目錄時觸發執行unix腳本
如果你有一個真實的例子,你會如何使用它,但基於你的標題和問題身體如何這是一個開始?
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
如果你只是想用戶輸入「目錄」,那麼你可以添加類似baseDir=/path/to/special
並更改爲cd $baseDir/$1
。測試將會執行,你會得到你的變量設置。另外,我認爲csh/tcsh本身可能有這樣的功能,如果tcsh擁有它,那麼zsh也會擁有它(也可能有它)。這取決於您對用戶環境的控制程度。 (我正在考慮像CDPATH或相關名稱,zsh人,有點幫助?)
我希望這可以幫助。
缺少超載「cd」或修補你的shell,你不能這樣做。 – pyroscope
你可以「超載」CD嗎?它是內置的。你可以使用別名,但你將如何傳遞參數? –