uniq читают файл линию за линией и только рассматривают дубликат, когда текущая строка является точно тем же как последней строкой,
т.е. для входного файла как это,
1
1
2
1
Вы получите вывод как это,
1
2
1
Для использования его можно или выполнить его хотя канал, т.е.
command | uniq
Или получите вход из файла как это,
uniq < input > output
Очень простое обходное решение для вас включало бы функцию в ваш ~/.zshrc
, который помнит рабочий каталог и изменения в него при открытии zsh:
cd $(<>/dev/shm/$USER-pwd)
__cd(){
\cd "$@"
pwd >/dev/shm/$USER-pwd
}
alias cd=__cd
Мы используем /dev/shm вместо /tmp для предотвращения записей на диск, хотя /tmp мог уже быть tmpfs в системе. \cd
используется для предотвращения fork-бомба .
, Если вы хотели бы эту функцию терминала гнома только, вы могли бы включать если оператор для проверки текущего окна терминала или активного окна. Кроме того, если вы обеспокоены, что другие пользователи могли бы узнать то, что было вашим последним каталогом, вы могли изменить полномочия для $USER-pwd
с chmod
:
if xprop -id $(xprop -root 32x ' $0' _NET_ACTIVE_WINDOW | awk '{print $NF}') WM_CLASS | grep -q gnome-terminal; then
cd $(<>/dev/shm/$USER-pwd)
chmod 600 /dev/shm/$USER-pwd
__cd(){
\cd "$@"
pwd >/dev/shm/$USER-pwd
}
alias cd=__cd
fi
Я не уверен, что именно вы хотите восстановить (см. Ниже);
Если вы хотите открыть GNOME-Terminal
, начиная с другой каталога, есть возможность указать каталог :
gnome-terminal --working-directory=/tmp
Вы, безусловно, можете использовать скрипт в качестве команды Startup, которая выполняет CD
, а затем запускает оболочку - но это не звучит как хороший подход.
Если оно относится к каталогу по умолчанию оболочки на новой вкладке, установленную в текущий каталог вкладки, которая была текущей, когда было срабатывает действие новых вкладки: что только работает для меня, поэтому я могу только дать только подсказки - Я запускаю старую версию, Terminal 3.6.2
.
Я уверен, что это не сценарий /etc/profile.d/vte.sh
, который устанавливает каталог; В моей версии - где работает нормально - скрипт не содержит кода, связанный с этим, и я никогда не использовал его.
Сама программа терминала может просто установить каталог, прежде чем вытекать процесс оболочки.
Но на самом деле это даже не нужно делать это - вы хотите иметь тот же каталог, как раньше. Все, что нужно, чтобы вообще не прикоснуться к каталогу.
, которые сказали, что есть ошибка, описывающая эту проблему:
Gnome-Terminal: BUG 697475 - новая вкладка не открыта в том же каталоге, что и предыдущая вкладка
. Обсуждение очень длинное, у меня нет резюме ; VTE.SH
обсуждается там, и от пропуска, похоже, он может быть исправлен, но не полностью выпущен.