不,破折号没有完成。否则它会被称为 bash。Dash 旨在以最少的内存快速执行 shell 脚本,它不打算以交互方式使用。
在 dash 中获得完成的最好方法是运行exec zsh
或exec fish
。或者,如果您想坚持使用不占用太多内存的外壳,请使用包含完成功能的 BusyBox sh 构建。
如果你想坚持使用破折号,你可以做人们在完成之前所做的事情:使用通配符。例如,不要键入文件名的前缀然后按 ,而是键入文件名Tab的前缀,然后键入*
。前缀必须是唯一的,否则会插入多个文件名。
要列出“完成”,请调用ls
或运行echo
通配符模式。
如果多次使用相同的文件名(或其他字符串),请将其存储在变量中。