스크립트를 작성하려고하는데 여기에 붙어 있습니다. 코드를 참조하십시오!
aug@august:~/play$ for i in {1..100..4}
> do
> echo "august"
> touch august $i+$2
> mkdir dir
이전 줄로 갈 수있는 방법이 있습니까? 나는 잘못된 유형이 있음을 의미 touch august $i+$2
합니다. ENTER키를 눌렀 으므로 새 줄을갔습니다. 이전 줄로 돌아가려면 어떻게해야합니까?
답변
bash
의 명령 줄 편집기는 이것을 지원하지 않습니다. anwar이 제안하거나 세미콜론으로 구분 된 한 줄의 모든 것을 스크립트 파일에 넣습니다.
참고로, zsh
이것에 도움이되는 기능이 있습니다. zsh
라인 편집기 ( zle
)보다 완벽한 기능을 갖춘 편집기와 여러 줄 명령을 내 이동을 지원합니다. 명령을 처리하기에 너무 길어지면 zle
기본 제공 기능인 edit-command-line
을 사용하여 자주 사용하는 편집기에서 명령 행을 엽니 다. 그것은 일반적으로 묶이지 않습니다.
bindkey "^[e" edit-command-line
Alt-e 이제 활성화하고 저장하고 종료하여 명령 행으로 돌아가십시오.
답변
을 누르고 Enter오류 메시지가 표시되면 기록으로 돌아갈 수 있습니다.
↑키보드 의 키를 누르면 오타가 수정됩니다. ↑키 를 누르면 터미널에 다음 줄이 표시됩니다.
for i in {1..100..4}; do echo "august"; touch august $i+$2; mkdir;
잘못 입력 된 내용을 수정하고 명령 끝에를 touch august $i+$2
추가하십시오 done
.
그런 다음 Enter키를 누르십시오. 문제가 해결 될 것입니다.
답변
여기 에 설명 된 것처럼 bash에는 매뉴얼에 명시된대로 역사를 조작하는 명령이 있습니다. 그들 중 하나는입니다 edit-and-execute-command
.
임시 파일에 이미 입력 한 명령으로 편집기가 열리고 이전 행을 쉽게 수정할 수 있습니다. emacs 모드 에서는 일반 모드 C-xC-e
에서을 눌러 vi 모드를 수행 할 수 있습니다 v
.
편집 및 실행 명령 (C-xC-e)
현재 명령 행에서 편집기를 호출하고 결과를 쉘 명령으로 실행하십시오. Bash는 $ VISUAL, $ EDITOR 및 emacs를 순서대로 편집기로 호출하려고 시도합니다.
답변
이것이 나를 위해 일한 것입니다.
CTRLC현재에서 + command
. 그런 다음를 누릅니다 ↑. 이제 arrow buttons
– ← ↑ →또는 로 이동하여 원하는 줄을 편집 할 수 있습니다 ↓.
행운을 빕니다…