![명령의 일부로 공백이 포함된 Bash 별칭](https://linux55.com/image/78690/%EB%AA%85%EB%A0%B9%EC%9D%98%20%EC%9D%BC%EB%B6%80%EB%A1%9C%20%EA%B3%B5%EB%B0%B1%EC%9D%B4%20%ED%8F%AC%ED%95%A8%EB%90%9C%20Bash%20%EB%B3%84%EC%B9%AD.png)
별칭 자체에 공백이 있는 bash 별칭을 만들려고 합니다.
con
별칭(예: 별칭 )이 표시된다는 아이디어입니다 sudo openvpn --config /path/to/my/openvpn/configs/
. con
이로 인해 별칭을 사용할 때 읽을 수 있는 명령이 생성됩니다.
즉:`con uk.conf` == `sudo openvpn --config /path/to/my/openvpn/configs/uk.conf`
다음과 같은 별칭을 선언할 수 없다는 것을 알고 있습니다
con ="sudo openvpn --config /path/to/my/openvpn/configs/"
. 이 경우 bash 기능이 작동합니까? 나는 이것에 대해 들어본 적이 없지만 이 작은 문제에 대한 해결책을 연구하는 동안.
답변1
예, 기능을 사용해야 합니다. 매개변수를 추가하려는 경우 별칭이 작동합니다. 별칭에 제공된 모든 인수는 별칭 프로그램에 인수로 전달되지만,별도의 매개변수로, 단순히 기존 콘텐츠에 추가하는 것이 아닙니다. 표시하려면:
$ alias foo='echo bar'
$ foo
bar
$ foo baz
bar baz
bar baz
보시다시피 yes와 no가 에코됩니다 barbaz
. 전달된 값을 기존 매개변수에 연결하려면 다음과 같은 것이 필요합니다.
function com(){ sudo openvpn --config /path/to/my/openvpn/configs/"$@"; }
위의 줄을 추가하면 ~/.bashrc
됩니다.