![GUI 응용 프로그램에서도 작동하는 방식으로 실행 파일에 기본 명령줄 인수를 추가하려면 어떻게 해야 합니까? [복사]](https://linux55.com/image/63541/GUI%20%EC%9D%91%EC%9A%A9%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8%EC%97%90%EC%84%9C%EB%8F%84%20%EC%9E%91%EB%8F%99%ED%95%98%EB%8A%94%20%EB%B0%A9%EC%8B%9D%EC%9C%BC%EB%A1%9C%20%EC%8B%A4%ED%96%89%20%ED%8C%8C%EC%9D%BC%EC%97%90%20%EA%B8%B0%EB%B3%B8%20%EB%AA%85%EB%A0%B9%EC%A4%84%20%EC%9D%B8%EC%88%98%EB%A5%BC%20%EC%B6%94%EA%B0%80%ED%95%98%EB%A0%A4%EB%A9%B4%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%ED%95%B4%EC%95%BC%20%ED%95%A9%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
명령줄 프로그램을 실행할 때 기본적으로 이를 전달하고 싶습니다.
myprog --foo=bar
내가 생각할 수 있는 해결책은 "bin" 폴더에 사용자 정의 "myprog" 래퍼를 추가하는 것입니다.
#! /bin/sh
/usr/bin/myprog --foo=bar $@
좋은 점은 시스템을 설정했기 때문에 bin 폴더가 대화형 셸과 GUI 응용 프로그램 모두의 PATH에 있으므로 어디에서든 myprog를 호출하면 기본적으로 --foo 플래그가 전달된다는 것입니다. 응용프로그램 메뉴에서 myprog를 선택하세요.
그러나 나는 래퍼 스크립트에서 절대 경로를 사용하는 것을 좋아하지 않습니다 /usr/bin/myprog
(그렇지 않으면 무한 루프에 빠집니다). 더 좋은 방법이 있나요?
답변1
당신은 그것을 사용할 수 있습니다 alias
. 에서 man sh
:
별칭 별칭은 alias(1) 내장 명령을 사용하여 설정한 이름과 해당 값입니다. 예약어가 나타날 수 있을 때마다(위 참조) 예약어를 확인한 후 쉘은 해당 단어가 별칭과 일치하는지 확인합니다. 그렇다면 입력 스트림의 값으로 대체됩니다. 예를 들어, 값이 "ls -F"이고 이름이 "lf"인 별칭이 있는 경우 다음을 입력합니다.
lf foobar ⟨return⟩
would become
ls -F foobar ⟨return⟩
별칭은 초보자 사용자에게 매개변수를 사용하여 함수를 만드는 방법을 배우지 않고도 명령 약어를 만드는 편리한 방법을 제공합니다. 어휘적으로 모호한 코드를 만드는 데에도 사용할 수 있습니다. 이 사용은 권장되지 않습니다.