我想創建我的第一個zsh完成腳本,在這種情況下命令netcfg。zsh文件名globbling /替換
這聽起來可能聽起來有點蹩腳我在第一個障礙,免責聲明,我知道如何粗魯地做到這一點,但我尋求「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
所以我嘗試(原諒我naivity):
echo ${(s/*\/)$(ls /etc/network.d/*(.))}
/etc/network.d/ethernet-dhcp /etc/network.d/wireless-wpa-config
看來,這是不行的,我敢肯定有一定通過分裂成一個數組並獲得最後一部分來做到這一點是很聰明的方式,但正如我所說的,我完全是這樣做的。
任何建議感激地收到。
'$ {param#pattern}'參數擴展是去除前綴的方法。 '$ {param%pattern}'去除後綴。 – 2010-07-05 10:18:03