스크립트를 더 빠르게 편집하는 Bash 기능

3993 단어 bash
나는 종종 스크립트를 개발하면서 내 자신의 스크립트를 편집합니다. 이와 같은 스크립트 작업을 위한 더 나은 워크플로우를 만들고 싶습니다.

현재



현재 저는 nvimwhich 서브쉘과 결합하여 이러한 파일을 이와 같이 설정합니다.

for now lets use my todo command as an example



nvim `which todo`


퍼스트 패스



첫 번째 패스에서 나는 내가 하고 있는 일을 정확히 수행하기 위해 bash 함수를 만들었습니다.

ewhich () {$EDITOR `which "$1"`}

$1는 첫 번째 입력을 which 서브쉘로 전달합니다. 이제 todo 스크립트를 이렇게 편집할 수 있습니다.

ewich todo


Note, I use bash functions instead of aliases for things that require input.



최종 상태



이것은 파일이지만 별칭이나 쉘 기능이 아닌 명령에 대해서는 잘 작동합니다. 다음으로 command -V $1 의 출력을 살펴보았습니다.
  • 명령을 찾을 수 없는 경우 파일 검색
  • 내장형인 경우
  • 종료
  • 별칭인 경우 내 ~/.alias file to that line를 엽니다.
  • 함수인 경우 내 ~/.alias file to that line를 엽니다.

  • ewhich () { case `command -V $1` in
        "$1 not found")
            FILE=`fzf --prompt "$1 not found searching ..." --query $1`
            [ -z "$FILE" ] && echo "closing" || $EDITOR $FILE;;
        *"is a shell builtin"*)
            echo "$1 is a builtin";;
        *"is an alias"*)
            $EDITOR ~/.alias +/alias\ $1;;
        *"is a shell function"*)
            $EDITOR ~/.alias +/^$1;;
        *)
            $EDITOR `which "$1"`;;
    esac
    


    좀 더 ergo, 덜 읽기



    타이핑하기 쉽도록 ewhich에 단일 문자e 별칭을 추가했습니다. 그래서 무엇이든 편집하고 싶을 때 e 를 사용합니다.

    alias e=ewhich
    


    결과



    다음은 작동 방식에 대한 간단한 스크린캐스트입니다.


    죄송합니다. 귀하의 브라우저는 포함된 비디오를 지원하지 않습니다.

    좋은 웹페이지 즐겨찾기