그래서 최근에 Linux와 유사한 명령을 많이 공유하는 cli를 다운로드했습니다. 좋아요 mega-login
: login
& mega-logout
: logout
cli를 사용해야 할 때마다 대용량 파일을 작성하는 데 지쳤습니다. 별칭을 사용할까도 생각했지만, 내가 모르는 다른 명령을 사용하여 다른 프로그램을 망치고 싶지는 않습니다. 별칭을 생성하면 login
시스템 login
명령은 어떻게 되나요? 또한 cli에는 많은 명령이 있습니다.
그래서 스크립트를 활용해볼까도 생각했지만 어떻게 해야 할지 몰랐습니다. 이것이 내 생각이다. 그래서 m login
or 를 사용하면 m logout
해당 명령을 검색하거나 존재 mega-login
하는지 검색 mega-logout
한 다음 호출합니다.
그래서 Fish를 배우면서 몇 시간 동안 다양한 기능을 생각해 보고 이렇게 썼습니다.
function m --argument value $argv
echo value $value $argv
if type mega-$value
set MEGA
for temp in $argv
set MEGA $MEGA$temp
echo $MEGA
end
echo MEGA \n\n $MEGA
eval $MEGA
end
end
여전히 작동하지 않습니다. PS: 처음으로 글을 쓰려고 했는데, 이해가 안 되서 포기했습니다.
function m --argument value $argv
echo value $value $argv
if type mega-$value
set MEGA mega-$argv
echo $argv \n\n\n $MEGA
eval $MEGA
end
end
답변1
첫 번째(그리고 두 번째) 시도에서는 나쁘지 않습니다. 제대로 맞추는 것은 까다로울 수 있습니다.
어때요?
function m
set -l mega_cmd "mega-$argv[1]"
set -l mega_args $argv[2..]
if type -q "$mega_cmd"
echo "Executing $mega_cmd $mega_args"
"$mega_cmd" $mega_args
end
end
물론 이것은 가독성을 위한 것입니다(제가 선호하는 것입니다). 그러나 다음과 같이 단순화할 수 있습니다.
function m
if type -q "mega-$argv[1]"
echo "Executing mega-$argv[1] $argv[2..]"
"mega-$argv[1]" $argv[2..]
end
end