Удаление пользовательской записи от/etc/passwd

Вы должны идти другим путем. Добавьте строку в конце вашего .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 и Изменения в этом текущем рабочем каталоге.

0
30.05.2014, 23:54
3 ответа
[1189138] Как указано в комментарии Кристофера [1189568], удаление записи пользователя из [1189570]/etc/passwd[1189571] не удаляет все следы пользователя из системы. Лучше сделать что-то вроде:

или

Вы также можете поставить переключатель [1189572]-r[1189573] (как в [1189574]userdel -r bob[1189575]), чтобы также удалить содержимое домашнего каталога пользователя. Осторожно, однако, это было бы [1189576] ужасной идеей [1189577] в случае, если вы удаляете пользователей системы, так как у них обычно есть дома, которые живут под [1189578]/etc[1189579] и [1189580]/var/lib[1189581].[1189143].

4
28.01.2020, 02:13
[1189134] нужно добавить -i вариант:

-i[SUFFIX], --in-slace[=SUFFIX]

1
28.01.2020, 02:13
[1189130]Red Hat должен использовать GNU Sed, так что это должно помочь.

Function Unicode(val As String)
   Unicode = ChrW("&H" & val)
End Function
Обратите внимание, что -i опция доступна только в GNU Sed.[1189133].
3
28.01.2020, 02:13

Теги

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