Bash 스크립트의 새 터미널 인스턴스에서 명령 실행

Bash 스크립트의 새 터미널 인스턴스에서 명령 실행

프록시 설정을 자동으로 구성하는 bash 스크립트가 있습니다. 파일 에 몇 가지 별칭을 만들었습니다 .bash_aliases. 이제 원격 서버에 SSH로 접속하여 동적 포트 전달을 수행하고 기본적으로 양말 프록시를 생성하는 명령이 하나 있습니다. 따라서 이에 따라 프록시 설정을 구성해야 합니다.

명령은 다음과 같습니다:

proxy off && ssh -D <port> <username>@<hostaddress>

위 명령의 별칭을 지정했으며 터미널에 별칭을 입력하면 원격 서버에 성공적으로 연결됩니다. 그러나 이 작업이 완료된 후에는 새로 생성된 양말 프록시를 구성하기 위해 새 터미널 창에서 다른 명령을 실행해야 합니다. 기본적으로 다음을 실행하면 됩니다.

proxy socks #It configures my laptop to use the socks proxy

동일한 터미널 창에서는 이 작업을 수행할 수 없으며 &&ssh 명령 바로 다음에 수행합니다. 이는 원격 서버에서 명령을 실행하려고 한다는 의미이기 때문입니다. 내 노트북에서 이 명령을 실행하고 싶습니다.

파이프나 다른 명령처럼 새 터미널 창에서 두 번째 명령을 한 줄로 실행할 수 있는 방법이 있나요? 원격 서버에 SSH로 연결할 때마다 터미널에서 새 탭을 여는 것은 정말 비효율적입니다. 단일 명령을 입력하여 프록시를 구성한 다음 더 이상 필요하지 않기 때문에 해당 탭을 닫을 수 있기 때문입니다.

답변1

대신 다음과 같이 시도해 보세요.

port=1234
remote=username@host
proxy off && ssh -fND $port $remote && proxy socks

플래그 는 백그라운드로 이동하라고 -f지시 하고 명령을 실행하지 않고 포트만 전달하라고 지시합니다. 이렇게 하면 현재 터미널에서 계속 작업할 수 있습니다.ssh-N

관련 정보