mysql select/command의 출력이 기본 터미널 열 세트(80)를 넘어서 멋지게 형식화되어 터미널 창의 크기를 조정하여 모든 열을 한 행에 표시할 수 있다는 것을 알았습니다. 구성하는 방법? 나는 80자보다 긴 주석이 포함된 HERE 문서로 작업하고 있으며 이를 SSH 세션에 전달하고 있지만(나중에 출력에서 해당 주석을 보는 것은 괜찮습니다) 줄로 확장하는 대신 다음과 같이 끝납니다. 81번 위치에 문자를 입력하고 다음과 같은 메시지가 표시되면 내 로그인을 덮어씁니다.
이것은 내 스크립트입니다.
#!/bin/bash
ssh -A -tt -l user1 192.168.1.10 <<ABC
#-----------------------------------------------------
#comments are very useful for explaining what does your code actually do. And sometimes they can be very long.
#-----------------------------------------------------
some_command
exit
ABC
이것은 내 결과입니다.
[user@server ~]$ #-----------------------------------------------------
actually do. And sometimes they can be very long.explaining what does your code
[user@server ~]$ #-----------------------------------------------------
편집하다
예상되는 결과:
[user@server ~]$ #-----------------------------------------------------
[user@server ~]$ # comments are very useful for explaining what does your code actually do. And sometimes they can be very long. Even over 80 characters.
[user@server ~]$ #-----------------------------------------------------
그것을 피하는 방법을 아시나요?
답변1
tty
할당( )을 강제하고 있지만 ssh -tt
터미널의 크기가 잘못 설정되었을 것입니다(아마 크기가 없을 것임). 해당 옵션이 필요하다고 가정하면 -tt
터미널 크기를 설정하는 줄을 사용하여 스크립트를 시작할 수 있습니다.stty
#!/bin/bash
ssh -A -tt -l user1 192.168.1.10 <<ABC
stty $(stty size | sed 's/ / cols /;s/^/rows /')
#-----------------------------------------------------
#comments are very useful for explaining what does your code actually do. And sometimes they can be very long.
#-----------------------------------------------------
some_command
exit
ABC
여기서는 stty
터미널의 실제 크기를 사용하여 명령을 작성합니다. 현재 터미널이 80x25이면 stty size
생성되고 25 80
교체 후 생성된 명령은 stty rows 25 cols 80
.