Создание псевдонима, чтобы Изменить Каталог и иметь тот каталог быть текущим рабочим каталогом на новых терминальных вкладках

system_profiler SPHardwareDataType | sed -n 's/^ *Memory: //p'

p вот флаг к s команда (как g), не p команда и средства печатают пространство шаблона, если замена происходит. Вам не нужно g здесь, так как шаблон может только соответствовать однажды.

6
17.09.2014, 23:56
2 ответа

Я только что создал эти псевдонимы (я использую Bash)

christian@fujiu1404:~$ alias ta='cd tmp ; date'
christian@fujiu1404:~$ ta
Wed Sep 17 14:47:16 BST 2014
christian@fujiu1404:~/tmp$ alias ta='cd tmp && date'
christian@fujiu1404:~/tmp$ cd ..
christian@fujiu1404:~$ ta
Wed Sep 17 14:48:28 BST 2014
christian@fujiu1404:~/tmp$ 

, и они работают!

0
27.01.2020, 20:30

Вы должны идти другим путем. Добавьте строку в конце вашего .bashrc , которые изменяют каталог в последнем каталоге, предыдущий экземпляр Bash был в виде CWD (текущий рабочий каталог).

Такая строка сработала для меня:

cd $(readlink  "/proc/$(echo -n $(ps -u $(whoami) -eo stat,pid,cmd | awk '$3 == "'$(which bash)'" && $1 ~ /\+/{print $2}' | sort | head -1))/cwd")

Объяснение :

  • CD $ (...) : изменения каталога на то, что можно определить ниже
  • ReadLink / proc / $ (. ..) / cwd : считывает ссылку, в которой / proc / pid / cwd указывает на (текущий рабочий каталог)
  • echo -n $ (...) : удаляет Training Newline
  • PS -U $ (WHOAMI) -EO STAT, PID, CMD : показывает мой процесс в простом формате
  • awk '$ 3 == "$ (какой bash)'" && $ 1 ~ / \ + / {print $ 2} ' Если это Bash и Bash находится в группе процесса переднего плана (указана + в STAT поле), затем распечатать PID
  • Сортировка | Head -1 Мы хотим только самую низкую PID

редактировать:

в вашем случае это может быть лучшее решение:

cd $(readlink /proc/$(pgrep -n meteor)/cwd)

определяет PID новейшего экземпляра METEOR и Изменения в этом текущем рабочем каталоге.

2
27.01.2020, 20:30

Теги

Похожие вопросы