我写了一个小脚本,从https://wiki.archlinux.org/index.php/full_system_backup_with_rsync运行整个系统rsync,它需要一些命令行选项和系统的主机名作为参数。我想给这个脚本添加像ssh那样的自动补全功能。但是,我不想输入用户名,因为root几乎是唯一可以执行此操作的用户。
理想情况下,我想键入wholesystem.sh fi,然后它会自动填充fileserver.domain.com。
这是我的自定义完成文件。选项确实有效,但是主机填充显然不起作用,我不知道该怎么办。
我可以从~/.ssh/known_hosts中提取它,这对我来说没问题,或者...备份系统将备份保存在~/WholeSystems/host.domain.com/中,如果它从那里获取想法,我也不介意。
理想情况下,我想键入wholesystem.sh fi,然后它会自动填充fileserver.domain.com。
这是我的自定义完成文件。选项确实有效,但是主机填充显然不起作用,我不知道该怎么办。
#compdef wholesystem.sh
typeset -A opt_args
_arguments \
'-h[help]' \
'-s[silent]' \
'-v[verbose]' \
'-d[dry run]' \
':remote system:_user_at_host:'
我可以从~/.ssh/known_hosts中提取它,这对我来说没问题,或者...备份系统将备份保存在~/WholeSystems/host.domain.com/中,如果它从那里获取想法,我也不介意。