첫 번째 zsh 완료 스크립트를 만들려고합니다.이 경우 netcfg 명령입니다.zsh filename globbling/substitution
나는 소리가 들릴 수도 있습니다. 나는 첫 번째 장애물에 고착했습니다. 면책 조항,이 작업을 어떻게 해야할지 압니다. 그러나 나는 이것을하기 위해 "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}'을 사용하여 접미사를 제거하십시오. –