다른 터미널에서 별칭을 작동시키는 방법

다른 터미널에서 별칭을 작동시키는 방법

기본적으로 나는 다음과 같은 별칭을 만들었습니다.

alias 1="python /root/sqlmap-dev/sqlmap.py"

1을 입력하면 잘 작동하지만 다른 터미널을 열고 1을 다시 입력하면 문제가 발생합니다. 별칭을 인식하지 못합니다!

그렇다면 별칭을 어디에서나 사용할 수 있게 만드는 방법은 무엇입니까?

답변1

별칭은 해당 별칭이 정의된 세션에만 적용됩니다. 모든 세션에서 별칭을 정의해야 합니다. 다행히도 이를 정확하게 수행하는 메커니즘이 있습니다. 새 터미널 세션이 시작될 때마다 동일한 작업을 수행합니다.

파일은 ~/.bashrc귀하(귀하의 사용자 계정)로서 새 터미널 세션을 열 때마다 실행됩니다. 이름이 마침표로 시작하므로 숨김 파일입니다. 파일 브라우저에 숨겨진 파일을 표시하십시오(아마도 를 통해 Ctrl + H). ~/.bashrc별칭이나 bash 함수와 같은 것을 정의하는 데 일반적으로 사용됩니다.

그러나 이것이 해당 위치에서 정의해야 한다는 의미는 아닙니다. Debian 및 Ubuntu와 같은 파생 제품(및 Kubuntu, Lubuntu, Mythbuntu, Ubuntu Budgie, Ubuntu GNOME, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Xubuntu 등과 같은 파생 제품), Deepin, Whonix 등과 같은 사용자 정의 bash 별칭은 일반적으로 대부분의 시스템에 기본적으로 존재하지 않는 곳에 저장되므로 ~/.bash_aliasas해당 시스템 중 하나에 있다면 계속해서 생성하십시오. 존재하는 경우 자동으로 호출됩니다.

시스템이 해당 파일을 자동으로 호출하지 않는 경우에도 bash 별칭을 정의할 수 있는 고급스러운 혜택을 누릴 수 있습니다.많이많이! 나는 내 메인 컴퓨터의 메인 계정에 약 60개를 가지고 있고 그것들이 단지 내 어딘가에 있는 것을 원하지 않습니다 ~/.bashrc.) 전용 장소에 있습니다. 다음 줄을 다음 줄에 추가하세요 ~/.bashrc.

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

이 파일은 다음과 같은 경우에 호출됩니다.시작터미널 세션. 해당 파일에 대한 변경 사항은 열린 터미널 세션에 소급 적용되지 않습니다. 즉, 해당 파일에서 별칭을 정의/수정하기 전에 연 터미널에서 새로 정의된 bash 별칭을 사용할 수 없습니다.

답변2

문제는 현재 쉘 세션에 대한 별칭을 생성하는 명령에 있습니다 alias=.... 따라서 시작하는 새 세션마다, 즉 터미널을 열 때마다 별칭을 정의해야 합니다.

별칭을 영구적으로 만들려면 쉘의 구성 파일(예: ~/.bashrcbash)에 정의를 넣으세요.

답변3

이를 쉘의 구성 파일(예 ~/.profile: .

관련 정보