![변수가 아닌 명령줄에 직접 명령을 출력합니다.](https://linux55.com/image/68391/%EB%B3%80%EC%88%98%EA%B0%80%20%EC%95%84%EB%8B%8C%20%EB%AA%85%EB%A0%B9%EC%A4%84%EC%97%90%20%EC%A7%81%EC%A0%91%20%EB%AA%85%EB%A0%B9%EC%9D%84%20%EC%B6%9C%EB%A0%A5%ED%95%A9%EB%8B%88%EB%8B%A4..png)
저는 bash 셸을 사용하고 있으며 명령이 실행된 후 나타나는 명령 프롬프트에 명령 출력이 직접 나타나기를 원합니다!
내 아이디어를 설명하기 위해 구상한 예는 다음과 같습니다.
locate create_tables.sql|MAGIC_command
user@localhost:~# /usr/share/doc/phpmyadmin/create_tables.sql
이제 다음과 같이 dsubstitution 명령을 사용하십시오.
sudo $(locate create-tables.sql)
유효하지만 즉시 실행출력되기 전에 편집할 수 있기를 원합니다. 어떤 방법이 있나요?
답변1
Emacs 모드에서는 sudo $(locate create-tables.sql)
, Esc, Control+를 입력합니다.e
shell-expand-line
바라보다배쉬 참조 매뉴얼:
껍질처럼 선을 확장하십시오. 별칭 및 기록 확장은 물론 모든 쉘 단어 확장도 수행됩니다.
답변2
저는 주로 이런 일을 할 때 클립보드를 사용합니다.
$ some_command | cb
$ cb_edit
$ `cb` #or paste it with your paste button/shortcut
마법:
cb() {
if [ ! -t 0 ]; then
#if somebody's piping in reproduce input and pipe a copy to the clipboard
tee >(xclip -selection c)
else
#otherwise, print the contents of the clipboard
xclip -selection c -o
fi
}
cb_edit() { cb | vipe "$@" | cb; }
답변3
덜 우아한 해결책은 출력을 일부 tmpfile에 저장하고 해당 파일을 편집한 후 다음을 실행하는 것입니다.
$ locate create_tables.sql > /tmp/tmpfile
$ vi !$ # last argument of last command
$ bash !$