2011-12-26 1 views
16

Я часто хочу открыть весь каталог, в котором я работаю, используя команду mate, но как я могу пройти в самом рабочем каталоге?Как открыть приложение в терминале и передать текущий рабочий каталог?

Например, если я работаю в приложении rails, и я хочу открыть папку приложения в дереве TextMate, я бы сделал mate app, но как я могу пройти в самом рабочем каталоге (то есть открыть все рельсы приложение в дереве)?

+0

Итак, вы хотите, чтобы окно проекта TextMate расширило содержимое папки приложения? – RyanWilcox

+0

Нет, я просто хочу открыть текущую рабочую директорию прямо в textmate –

ответ

6

mate . откроется в настоящее время каталог. Я часто использую каталог ., например открытый искатель для текущего каталога open ..

58

Команда, которую вы могли бы искать в

pwd 
+0

Это не сработает, если cwd не является тем же самым каталогом, где сценарий лежит. – lpapp

4

Получение текущего каталога так просто, как печатать pwd или echo $PWD.

Теперь, если вы хотите открыть TextMate в определенном каталоге, вы можете сделать:

(cd /target/directory && mate) 
+0

для этого вам не нужны скобки. – Nozim

4
mate `pwd`/yourfile 

mate `pwd`/app 

Или вы можете с помощью mate $PWD/app

+0

(комментарий удален, я вижу, что автор спрашивал сейчас) – RyanWilcox

36
# Assign the current work directory to the bash script variable 'CWD'. 
CWD=$(pwd) 

# Print it. 
printf "%s\n" ${CWD} 
+0

приветствует, но уже получил принятый ответ (моя проблема решена) ... –

1
DIR=$(readlink -f $0); 
IFS='/' read -a array <<< "$DIR"; 
apath=("${array[@]:0:${#array[@]}-1}"); 
rpath=$(IFS=/ ; echo "${apath[*]}"); 
cd $rpath 
1

Текущий рабочий каталог, установленный с помощью команды компакт-диск доступен в переменной оболочки PWD, например,

echo $PWD