터미널 명령 전에 명령을 실행하십시오.

터미널 명령 전에 명령을 실행하십시오.

터미널 명령을 실행하기 전에 명령을 실행하는 방법이 있습니까?

예를 들어:

> ls -ltr
> "Hello you ran ls -ltr" //this is what I would like to achieve
> ..output of ls -ltr will be here

명령을 실행하기 전에 echo가 실행되는지 확인하는 것이 가능합니까?

감사해요

답변1

DEBUG비슷한 방식으로 효과적인 사전 실행 후크를 설정할 수 있는 트랩 설정을 고려할 수도 있습니다 zsh. 바라보다https://superuser.com/questions/175799/does-bash-have-a-hook-that-is-run-before-executing-a-command.

답변2

Bash에는 ps1에 기능을 할당하는 개념이 있으므로 내 것은 다음과 같습니다.

export PROMPT_COMMAND='PS1=$(make_ps1); set_xterm_title'

make_ps1은 어디에 있나요?

    make_ps1()
    {
    if [ $? = 0 ];then
        echo '\[\e[${host_color}m\][\D{%F %T} \u@\h \W]\[\e[0m\]\n\$ '
    else
        echo '\[\e[7m\e[${host_color}m\][\D{%F %T} \u@\h \W]\[\e[0m\]\n\$ '
    fi
    }

원하는 것은 무엇이든 할 수 있지만 명령이 실행된 후에 실행되므로 필요에 맞지 않을 수 있습니다.

관련 정보