--full을 `systemctl status`의 기본값으로 만드는 방법은 무엇입니까?

--full을 `systemctl status`의 기본값으로 만드는 방법은 무엇입니까?

SYSTEMD_PAGER긴 줄이 잘리는 것을 방지하기 위해 cat으로 설정했습니다 . 그러나 를 입력하면 systemctl status <service>이제 끝에 있는 긴 줄을 자르는 대신 줄임표가 삽입됩니다.아직완전한 줄을 표시하지 마십시오!

맨페이지에는 이 문제를 통과하거나 수정하겠다고 나와 있습니다 -l. --full실제로 그렇습니다. 하지만 이 (올바른) 동작을 기본값으로 만들려면 어떻게 해야 합니까?

이를 활성화하기 위해 설정할 수 있는 환경 변수에 대한 언급이 없으며 별칭에 공백이 있을 수 없기 때문에 쉘 별칭을 설정할 수 없습니다(예: alias 'systemd status'='systemd status -l'.

다른 이름을 가진 별칭을 갖고 싶지 않습니다. 그냥 -l그렇게 되기를 바랄 뿐입니다 systemd status. 가능합니까?

답변1

-l뒤에 올 필요는 없으므로 status간단히 사용할 수 있습니다.

alias systemctl='systemctl -l'

물론 이는 다른 모든 하위 명령의 기본값이기도 합니다.

답변2

별칭이 충분히 강력하지 않은 경우 다음 단계는 셸 기능을 사용하는 것입니다. 예를 들면 다음과 같습니다.

systemctl() {
    if [ "$1" = "status" ]
    then
        /bin/systemctl -l "$@"
    else
        /bin/systemctl "$@"
    fi
}

관련 정보