args 별칭을 사용하거나 복잡한 bash 명령을 가로채세요.

args 별칭을 사용하거나 복잡한 bash 명령을 가로채세요.

플래그가 있는 명령에 대한 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.

관련 정보