Bash:在主目录中的任何 bash 命令中使用星号会退出并出现错误 "Unrecognized options --list-sessions"

Bash: Using asterisk in any bash command in home directory exits with error "Unrecognized options --list-sessions"

标题。 如果我:

,bash 中的任何命令似乎都会出现此 same/similar 错误
  1. 在我的主目录中,即在 cd ~ 之后。它不会出现在其他地方。
  2. 在匹配所有文件+目录的命令中有一个asterisk/wildcard。据我所知,没有星号就不会发生。

示例:

me@mypc:~$ ls *
ls: unrecognized option '--list-sessions'
Try 'ls --help' for more information.
me@mypc:~$ ls
...
Desktop
Downloads
...
(prints all directories)
me@mypc:~$ ls ./*
(prints all subdirectory subdirectories)
me@mypc:~$ ls .*
...
.vscode:
argv.json  extensions

.wine:
dosdevices  drive_c  system.reg  userdef.reg  user.reg
...
(prints all subdirectories with their contents)

me@mypc:~$ du -sch *
du: unrecognized option '--list-sessions'
Try 'du --help' for more information.
me@mypc:~$ du -sch .*
du: cannot read directory './.dbus': Permission denied
du: cannot read directory './.pgadmin': Permission denied
66G .
du: cannot read directory '../postgres/.gnupg': Permission denied
64K ..
66G total

me@mypc:~$ grep "\-\-list-sessions" *
grep: unrecognized option '--list-sessions'
Usage: grep [OPTION]... PATTERN [FILE]...
Try 'grep --help' for more information.

等等。 list-sessions 标志似乎让人想起这个 tmux 命令:

me@mypc:~$ tmux list-sessions
error connecting to /tmp/tmux-1000/default (No such file or directory)
me@mypc:~$ whereis tmux
tmux: /usr/bin/tmux /usr/share/man/man1/tmux.1.gz

无论是否使用 运行 tmux 服务器,其他命令中的 list-sessions 错误仍然存​​在。 感谢您的帮助!

我猜您的主目录中有一个名为 --list-sessions 的文件,而 * 在展开时会导致您执行命令(例如,lsdu) 将文件名视为一个选项:

考虑...

$ mkdir /tmp/ttt
$ cd /tmp/ttt
$ touch -- '--list-sessions'
$ ls -a
--list-sessions  ./  ../

$ ls *
dir: unknown option -- list-sessions
Try 'dir --help' for more information.
$ ls -- *                               # disable further command line option processing
--list-sessions

$ du -k *
du: unknown option -- list-sessions
Try 'du --help' for more information.
$ du -k -- *                            # disable further command line option processing
0       --list-sessions

注意:上述命令中使用的--禁用进一步的命令行选项处理,例如What does double dash mean?