플래그가 있는 명령에 대한 bash 별칭을 만드는 방법은 무엇입니까? 예를 들어 를 실행하면 ls -l
별칭을 로 지정하고 싶습니다 ls -a
.
이것은 작동하지 않습니다: alias "ls -l"="ls -a"
또 다른 예: 를 입력하면 reboot now
간단히 실행되기를 원합니다 reboot
.
여기서 bash 기능이 유용합니까?
편집: 어리석은 ls -l
예를 들어 죄송합니다. 이것이 내가 정말로 원하는 것입니다. 를 실행하면 reboot now
실제로 실행되기를 원합니다 reboot
.그렇기 때문에.
답변1
또 다른 예: 를 입력하면
reboot now
간단히 실행되기를 원합니다reboot
.
함수를 생성합니다:
reboot() {
command reboot
}
지금 명령을 호출하면 reboot
함수가 호출되며 reboot
전달된 모든 인수는 무시됩니다.
그건:
reboot
그리고
reboot now
reboot
매개변수 없이 명령을 실행합니다 .
답변2
별칭을 지정해야 합니다 ls
.
alias ls='ls -a'
나중에 ls -l
이렇게 하면 결과가 나올 것입니다. ls -la
답변3
이것이 내가 정말로 원하는 것입니다. 를 실행하면
reboot now
실제로 실행되기를 원합니다reboot
.
의 절대 경로를 찾습니다 reboot
(예: via whereis reboot
). 이 전에 $PATH에 있는지 확인하십시오 /usr/local/bin
(이미 있을 수도 있음). 1이제/usr/local/sbin/reboot
아래와 같이 파일을 생성합니다 .
#!/bin/sh
reboot
루트 및 가 소유해야 합니다 chmod 755 /usr/local/bin/reboot
. 이제부터 기본
reboot whatever, blah-blah
매개변수 없이 그냥 호출됩니다 reboot
.
1. 그렇지 않은 경우 다음을 참조하십시오.이 Q&A.