4
2
I'd like to search "upwards" for a file in shell script, e.g. check $PWD, then $PWD/.., then $PWD/../.., etc. until hitting the root. Before I go and roll my own, is there some builtin bash/zsh/find magic that will do this for me?
4
2
I'd like to search "upwards" for a file in shell script, e.g. check $PWD, then $PWD/.., then $PWD/../.., etc. until hitting the root. Before I go and roll my own, is there some builtin bash/zsh/find magic that will do this for me?
3
Well i have no clue how to do this in zsh since i use bash: but i tried this one liner
START=$PWD; while [ $PWD != "/" ]; \
do ls|grep file && echo $PWD ;cd ..; done ; cd $START
If you want to stop when you find something you could use:
START=$PWD; while [ $PWD != "/" ]; do \
ls|grep file && echo $PWD && cd $START && break;cd ..; done
As far as i know is there no such tool that could do this.
1
Using shell builtins:
(while [[ ! -f $file ]] && [[ $PWD != / ]]; do \cd ..; done;
if [[ -f $file ]];then echo $PWD/$file;fi)