我正在尝试创建我的第一个 zsh 完成脚本,在本例中为命令 netcfg。
听起来很蹩脚,我已经坚持了第一个障碍,免责声明,我知道如何粗略地做到这一点,但是我寻求“ZSH WAY”来做到这一点。
我需要列出 /etc/networking 中的文件,但只列出文件,而不是目录组件,所以我执行以下操作。
echo $(ls /etc/network.d/*(.))
/etc/network.d/ethernet-dhcp /etc/network.d/wireless-wpa-config
我想要的是:
ethernet-dhcp wireless-wpa-config
所以我尝试(原谅我的天真):
echo ${(s/*\/)$(ls /etc/network.d/*(.))}
/etc/network.d/ethernet-dhcp /etc/network.d/wireless-wpa-config
似乎这不起作用,我确信必须有一些聪明的方法通过拆分成一个数组并获取最后一部分来做到这一点,但正如我所说,我对此完全是菜鸟。
感激地收到任何建议。