이것은 내 마지막 질문에 대한 다소 후속 조치입니다.사용자 입력 시 터미널 정지에 여러 명령 붙여넣기
다음을 터미널에 붙여넣으면 예상대로 작동합니다.
(
echo test1
# some comment
echo test2
)
그러나 명령을 반복하기 위해 위쪽 화살표를 누르면 다음과 같이 분명히 잘못된 명령이 제공됩니다.
( echo test1 echo test2; )
주석 없이 동일한 내용을 붙여넣고 위쪽 화살표를 누르면 예상되는 명령이 제공됩니다.
(echo test1; echo test2)
간단한 해결 방법은 ;
각 줄 앞에 주석을 추가하는 것입니다.
그런데 왜 그럴까? 이것은 버그입니까?
나는 배쉬를 사용하고 있습니다. 동작은 gnome-terminal과 tilix에서 동일합니다.
답변1
문제는 붙여넣는 위치가 아니라 붙여넣는 위치입니다. 또한 Windows를 사용하는 경우 무엇이 복사되고 무엇이 붙여질지 알 수 없습니다(공백, 이상한 줄 끝, xml 형식 및 win10에서 CP 작업을 어렵게 만드는 모든 것).
터미널에서 실행하기 위해 코드를 붙여넣어야 한다면 fc
이것이 가장 좋은 친구입니다 . 그것이 하는 일은 vim과 같은 편집기( $EDITOR
변수에 구성됨)를 열고 마지막 명령의 형식을 지정하고 종료 시 실행할 수 있도록 하는 것입니다. 이렇게 하면 실행하기 전에 필요한 내용을 붙여넣고 수정할 수 있으며, 이는 입력 내용을 정리하는 데도 도움이 됩니다. 이전 명령을 많이 변경해야 하는 경우 유용합니다.
댓글의 누군가가 말했듯이 코드를 터미널에 붙여넣고 직접 실행하는 것은 결코 좋은 생각이 아니며 비용이 많이 드는 오류로 이어질 수 있습니다.