Исходный код для finger, используемый в Ubuntu , указывает, что он не будет читать не -обычный файл ~/.plan (, например. символическая ссылка, как у вас ). См. последнюю if... return 0
строку:
static int
show_text(const char *directory, const char *file_name, const char *header)
{
int ch, lastc = 0, fd;
FILE *fp;
struct stat sbuf1, sbuf2;
snprintf(tbuf, TBUFLEN, "%s/%s", directory, file_name);
if (lstat(tbuf, &sbuf1) || !S_ISREG(sbuf1.st_mode)) return 0;
Функция show _text вызывается для отображения содержимого различных файлов, включая.plan.
Чтобы ваш файл был виден через finger
, сделайте .plan
обычным файлом, а не символической ссылкой.
Во-первых, вы можете заменить встроенную функцию cd
функцией, которая сохраняет текущий каталог каждый раз, когда вы меняете каталог.
cd() {
command cd $@
pwd > ~/.curdir
}
Затем вы можете переходить в этот последний известный каталог в каждой новой оболочке, которую вы открываете:
command cd `cat ~/.curdir`
Если вы поместите оба этих фрагмента в свой ~/.bashrc
, каждая новая оболочка, которую вы открываете, будет иметь переопределенную команду cd
и попытается перейти в последний известный каталог:
#!/bin/bash
cd() {
command cd $@
pwd > ~/.curdir
}
command cd `cat ~/.curdir`
Обратите внимание, что я использовал встроенную команду command
для получения доступа к исходной команде cd
вместо функции с именем cd()
. Также обратите внимание, что это, вероятно, будет иметь непреднамеренные побочные эффекты, особенно когда у вас одновременно открыто несколько оболочек (, в чем и заключается весь смысл использования вкладок urxvt
).