From f36e40f3d70a5d0ef50353087d5cdeeef0e446b3 Mon Sep 17 00:00:00 2001 From: Kipras Melnikovas Date: Thu, 21 Mar 2024 00:14:53 +0200 Subject: [PATCH] shortcuts: fix file removal - do not remove /dev/null as a non-root user, this would be fine. but, i was setting up a docker container for development [1], and upon running a login shell, the shortcuts script would get invoked, and would remove /dev/null (and later re-create it), which changes its type from a character device into a regular file, thus breaking the system (e.g. apt update wouldn't work anymore). [1] https://github.com/kiprasmel/infra/blob/master/local/devel-core-git/Dockerfile --- .local/bin/shortcuts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.local/bin/shortcuts b/.local/bin/shortcuts index 7d7a1904..2455d57a 100755 --- a/.local/bin/shortcuts +++ b/.local/bin/shortcuts @@ -14,7 +14,10 @@ fish_shortcuts="/dev/null" vifm_shortcuts="/dev/null" # Remove, prepare files -rm -f "$lf_shortcuts" "$ranger_shortcuts" "$qute_shortcuts" "$zsh_named_dirs" "$vim_shortcuts" 2>/dev/null +for file in "$lf_shortcuts" "$ranger_shortcuts" "$qute_shortcuts" "$zsh_named_dirs" "$vim_shortcuts"; do + test -f "$file" && rm -f "$file" 2>/dev/null +done + printf "# vim: filetype=sh\\n" > "$fish_shortcuts" printf "# vim: filetype=sh\\nalias " > "$shell_shortcuts" printf "\" vim: filetype=vim\\n" > "$vifm_shortcuts"