I often want to open the entire directory I'm working in by using the mate
command, but how do I pass in the working directory itself?
For example, if I'm working in a rails app and I want to open the app folder into the TextMate tree, I would do mate app
, but how could I pass in the working directory itself (i.e. open the entire rails app in the tree)?
mate .
will open the currently directory. I use the .
directory a lot, for example open finder for the current directory open .
.
The command you might be looking for is
pwd
# Assign the current work directory to the bash script variable 'CWD'.
CWD=$(pwd)
# Print it.
printf "%s\n" ${CWD}
Getting the current directory is as simple as typing pwd
, or echo $PWD
.
Now, if you want to open TextMate in a particular directory, you can do:
(cd /target/directory && mate)
mate `pwd`/yourfile
mate `pwd`/app
Or you can using mate $PWD/app
DIR=$(readlink -f $0);
IFS='/' read -a array <<< "$DIR";
apath=("${array[@]:0:${#array[@]}-1}");
rpath=$(IFS=/ ; echo "${apath[*]}");
cd $rpath
The current working directory as set by the cd command is available in shell variable PWD
, e.g.
echo $PWD