clear
대신에 ccclear
으로 자주 글자를 씁니다.bash 별칭에서 정규 표현식을 사용하는 방법
별칭으로 정규식을 사용할 수 있습니까? 같은 뭔가 :
alias c\+lear='clear'
clear
대신에 ccclear
으로 자주 글자를 씁니다.bash 별칭에서 정규 표현식을 사용하는 방법
별칭으로 정규식을 사용할 수 있습니까? 같은 뭔가 :
alias c\+lear='clear'
번호
간단한 접두사 대체 실행 별칭, 그리고 다른 많은만큼 강력하지 않습니다.
그러나 Bash 4에서는 command_not_found_handle
이라는 함수를 사용하여이 경우 트리거하고 원하는 논리를 실행할 수 있습니다.
command_not_found_handle() {
if [[ $1 =~ ^c+lear$ ]]; the
clear
else
return 127
fi
}
는 동적으로 새로운 매핑을 추가 할 수 있기를 원하는 경우 : 위의와
declare -A common_typos=()
common_typos['^c+lear$']=clear
command_not_found_handle() {
local cmd=$1; shift
for regex in "${!common_typos[@]}"; do
if [[ $cmd =~ $regex ]]; then
"${common_typos[$regex]}" "[email protected]"
return
fi
done
return 127
}
, 당신은 사소 새로운 매핑을 추가 할 수 있습니다
common_typos['^ls+$']=ls
아야! 여기에 미묘한 버그가 있었는데, 정규 표현식 대신 대체물을 통해 반복하고있었습니다. 수정 된 버전이 설치되었습니다. –
내가 그것을 가능하지, 생각합니다. –
@AvinashRaj, ... 별명이 없습니다. 원하는 행동은 다른 방법으로도 달성 될 수 있습니다. –
'지우기'에 키보드 단축키를 사용하십시오. 그것은 충분한 작업입니다. 'Ctrl + L '은 기본 설정으로 작동합니다. – PSkocik