심볼릭 링크 제거 및 새 심볼릭 추가를 자동화하는 방법

심볼릭 링크 제거 및 새 심볼릭 추가를 자동화하는 방법

기본적으로 터미널에 입력하여 다음과 같은 작업을 수행할 수 있도록 빠른 명령 세트를 만들고 싶습니다.

cd /path/to/folder/of/symlink
sudo rm -f symlink
sudo ln -s /new/path/of/symlink
cd /new/path/of/symlink

나는 소프트웨어가 중앙 위치에 보관되어 있고 소프트웨어가 특정 실행 경로에 의존하기 때문에 Subversion repo 지점(또는 다른 모든 것)에서 작업하여 생성된 문제를 해결하기 위해 심볼릭 링크를 사용하는 회사에서 일하고 있습니다. 내 딜레마는 정기적으로(하루에 여러 번) 다양한 분기와 트렁크 사이를 앞뒤로 전환해야 하는 경향이 있다는 것입니다. 그래서 제가 하고 싶은 것은 최소한 터미널에서 실행할 수 있는 스크립트 유형을 만들고 고유한 명령 예를 입력하는 것입니다.

./subchange trunk

또는

./subchange branch1

전환해야 하는 폴더별로 위의 내용을 하드코딩하거나 각 폴더에 대해 고유 식별자를 만들어 내 삶을 조금 더 쉽게 만드는 데 신경 쓰지 않지만 실제로 스크립트를 만드는 방법을 잘 모르겠습니다. 이를 사용자 정의 명령으로 사용할 수 있거나 Linux에서 작동하려면 어떤 종류의 스크립팅을 사용해야 합니까? 따라서 이 시점에서는 어떤 조언이나 도움이라도 좋을 것입니다.

답변1

스크립트가 실행 가능하고 해당 상위 디렉터리가 에 있으면 $PATH해당 스크립트를 명령으로 사용할 수 있습니다. 예를 들어 언급한 명령으로 bash 스크립트를 만들 수 있습니다.

#!/bin/bash

cd /path/to/folder/of/symlink
sudo rm -f symlink
sudo ln -s /new/path/of/symlink
cd /new/path/of/symlink

그런 다음 이를 파일로 저장하고 를 사용하여 subchange실행 가능하게 만들 수 있습니다 chmod +x subchange. 내 시스템 /tech/scripts에 내 에 추가하는 스크립트 디렉터리(예: )가 있습니다 $PATH. 환경 변수가 , 또는 유사한 파일 $PATH에 설정되는 경우가 많습니다 . 다음을 수행하여 디렉터리를 추가할 수 있습니다.~/.profile~/.bashrc/etc/bashrc

export PATH=/tech/scripts:$PATH

이를 시작 파일에 추가한 경우 셸을 다시 시작하거나 소스를 제공해야 합니다(예: source ~/.bashrc). 이제 명령줄에서 를 사용할 수 subchange있으며 해당 명령이 실행됩니다. 명령에 인수를 추가하려면 연산자를 사용할 수 있습니다 $1. Bash에서 이것은 첫 번째 인수를 의미하므로 그렇게 하면 subchange trunk$1됩니다 trunk. 그런 다음 필요에 따라 이를 스크립트에 추가할 수 있습니다.

#!/bin/bash

cd /path/to/folder/of/symlink
sudo rm -f symlink
sudo ln -s /new/path/$1/symlink
cd /new/path/$1/symlink

#!파일 상단에 있는 것을오두막(그녀는 움직인다... 그녀는 움직인다...). 유닉스 시스템의 스크립트의 경우 다음 명령을 실행할 바이너리를 시스템에 알려줍니다. 이 경우에는 /bin/bash이 파일을 bash 명령으로 실행하고 bash 바이너리가 /bin. 하지만 다른 언어를 지정하고 해당 바이너리를 가리킬 수 있습니다.

관련 정보