![쉘 스크립트를 사용하여 원격 호스트 PATH에 폴더를 추가하는 방법은 무엇입니까?](https://linux55.com/image/71684/%EC%89%98%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EC%9B%90%EA%B2%A9%20%ED%98%B8%EC%8A%A4%ED%8A%B8%20PATH%EC%97%90%20%ED%8F%B4%EB%8D%94%EB%A5%BC%20%EC%B6%94%EA%B0%80%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
~/bin
로컬 폴더를 원격 호스트에 동기화하는 프로세스를 자동화하고 해당 폴더를 원격 셸 경로에 추가하고 싶습니다 . 동기화 부분을 완료했지만 폴더를 원격 셸에 자동으로 추가하는 방법을 잘 모르겠습니다 $PATH
.
이렇게 하면 항상 로컬 컴퓨터에서 쉘 스크립트로 작업할 수 있으며, 새 컴퓨터에 연결하여 작업을 시작해야 하는 경우 로컬 스크립트를 실행하여 ~/bin 폴더를 원격 컴퓨터에 동기화할 수 있습니다. 그런 다음 항상 원격 호스트에서 스크립트를 쉽게 실행할 수 있습니다.
그러면 다음에 로그인할 때 내 ~/bin
경로가 원격 호스트의 경로에 추가되어 올바르게 설정되도록 하려면 어떻게 해야 합니까 ?$PATH
$PATH
이 작업이 쉘 스크립트에서 자동으로 수행되기를 원합니다.
편집: 을(를) 동기화하고 싶지 않지만 .bashrc
필요한 경우 쉘 스크립트를 사용하여 끝에 일부 콘텐츠를 추가하여 기존 파일에 추가할 수 있습니다.
답변1
한 가지 가능한 접근 방식은 bashrc를 동기화하는 대신 bashrc 끝에 추가하는 것입니다.
echo "PATH=\$PATH:~/bin" >> ~/.bashrc
그러면 PATH 변수에 ~/bin이 추가됩니다.
원격 호스트에서 이를 얻으려면 먼저 ssh를 호출하면 됩니다. 호스트가 많으면 for 루프를 사용할 수 있습니다.
for host in host1 host2 host3;do
ssh user@$host echo "PATH=\$PATH:~/bin" >> ~/.bashrc
done