운영 체제:우분투22.04
상상하다
Home 폴더 안에 bin
. 이 폴더에서 필요한 GitHub 저장소를 복제했습니다.
예를 들어 복제했습니다.이 골랭 저장소내 bin 폴더에 있습니다(bin 폴더는 홈에 있음).
저장소 위치:/홈/포커스/빈/dontgo403/
어디서나 사용할 수 있도록 check403이라는 심볼릭 링크를 만들었습니다.
CD /usr/로컬/빈
sudo ln -s ~/bin/dontgo403/dontgo403 check403
심볼릭 링크가 올바르게 생성되었는지 확인하세요.
readlink check403
/home/focus/bin/dontgo403/dontgo403
- 홈 폴더로 이동하여
(~)
프로그램이 설치된 위치와 다른 위치에서 프로그램을 시작했습니다.
cd ~
check403 -u example.com
산출:
2023/01/01 13:38:43 open payloads/httpmethods: no such file or directory (This folder and these files are its dependencies located in the folder where it is installed > `~/bin/dontgo403`).
- 프로그램 설명(저장소)에 따르면 매개변수를 사용하면
-f
(위치 지정) 모든 것이 예상대로 작동합니다.
check403 -f ~/bin/dontgo403/payloads -u example.com
내 질문은 다음과 같습니다종속성 위치를 항상 지정하지 않고 프로그램을 실행하는 방법(예: check403 -u example.com (매번 지정할 필요 없음:) -f ~/bin/dontgo403/payloads
)
이 경우 -f 매개변수를 사용할 수 있지만 위치 매개변수를 선언하지 않는 다른 스크립트/프로그램을 발견했기 때문에 항상 설치 위치에서 실행해야 합니다.
답변1
여기서 달성하려는 것이 명확하지 않습니다. 하위 폴더에 있더라도 ~/bin에 직접 배포합니다. 이는 단일 사용자만 실행한다는 의미입니다. 그러나 /usr/local/bin에 심볼릭 링크를 생성하여 모든 사용자에게 공개합니다. ~/bin에 대한 액세스
종속성 경로는 실행 파일을 기준으로 / LD_PATH에서 / 구성 파일의 설정에서 / 미리 정의된 위치에서... 다양한 언어로 다양한 방식으로 식별됩니다.
실행 파일을 노출하기 위해 심볼릭 링크를 생성하는 대신 /usr/local/bin 또는 ~/bin의 간단한 쉘 스크립트로 래핑하십시오.
#!/bin/bash
~/bin/dontgo403/dontgo403 $@
또는 별칭을 추가하세요.