배쉬 쉘에서 긴 명령어를 수정하기

옵션이 많이 들어있어서 길거나 여려줄에 걸쳐있는 커맨드들(특히 curl이나 docker 등)을 복붙하거나 히스토리에서 찾아서 그 문자열 중 일부 내용을 고쳐 수정하려면 할때마다 영 괴로운 부분이 있다.

찾아보니 edit-and-execute-command (C-x C-e) 라는 기능이 있었다. ctrl+x ctrl+e 를 연달아 입력하면, 환경변수 $VISUAL, $EDITOR 등에 설정된 에디터 설정값을 따라 현재 커맨드라인 문자열을 해당 에디터로 연 다음 저장하고 종료하면 수정한 내용이 현재 커맨드라인으로 입력되어 바로 실행 되는 기능이다. 에디터 환경 변수가 그때그때 다를 수 있을 것 같으니 아래와 같은 코드를 .bash_profile 같은 위치에 넣어두면 vim 이 실행되도록 할 수 있다.

```

Make vim the default editor.

export EDITOR='vim';
````

참고

  • https://www.gnu.org/software/bash/manual/html_node/Miscellaneous-Commands.html
  • https://www.44bits.io/ko/post/editing-multiline-command-on-shell
  • http://www.ohyecloudy.com/ddiary/2019/05/17/til-bash-edit-and-execute-command/