Bash 별칭은 Debian에서는 로드되지 않지만 Mint에서는 sudo -s를 실행하면 로드됩니다.

Bash 별칭은 Debian에서는 로드되지 않지만 Mint에서는 sudo -s를 실행하면 로드됩니다.

ls두 시스템 모두에 정확히 동일한 별칭이 정의되어 있습니다.

$ cat ~/.bash_aliases | grep -e "alias ls=" -e "alias l=" -e "alias lll="
alias ls='\ls --kibibytes --color=always --group-directories-first'
alias l='ls'
alias lll='l -la'

리눅스 민트(18.1)

(나는 이 기계 앞에 앉아 있다.)

$ sudo -s
[sudo] password for ...

$ lll
(very long list of files)

GNU/Linux Debian Stretch(9, 테스트됨)

(저는 ssh이 기계를 사용했습니다.)

$ ssh username@ip_address_of_server -p port_number

$ sudo -s
[sudo] password for ...

$ lll
lll: command not found

질문

sudo -sLinux Mint처럼 데비안에서도 개인 별칭을 얻으려는 목표를 어떻게 달성하나요 ?


sudo -s설명하다

sudo -s내 Linux Mint 에는 sudo -i.susu -

그것은 Linux Mint에서 내 필요에 맞게 작동하고, 유용한 별칭이 많이 정의되어 있으며, 내 Debian 서버에서도 작동하기를 원합니다.

답변1

.bash_alias올바른 쉘 초기화 파일에서 이 파일을 가져와야 합니다 . 초기화 파일은 셸 시작 방법에 따라 달라집니다. SSH를 통해 호출하는 것은 로컬 컴퓨터에서 호출하는 것과 다릅니다. 그러나 다시 호출하면 sudo -s대화형 비로그인 루트 셸이 시작되므로 두 시스템 모두에서 동일해집니다. 그러나 동일한 별칭을 얻으려면 동일한 정의가 필요합니다.

주장한다면 파일을 ssh 사용자에게 sudo -s제공하십시오 . 따라서 다음 줄을 추가하면 충분합니다 ..bash_aliases.bashrc~/.bashrc

. ~/.bash_aliases

lll별칭은 이전에 Mint에서는 작동했지만 sudo -sDebian에서는 작동하지 않았습니다. 왜냐하면 SSH 세션이므로 로그인 쉘이었기 때문입니다. 반면 Mint에서는 대화형으로만 작동했습니다. SSH Debian에서 별칭을 즉시 사용할 수 있게 하려면 .profile파일에 다른 소스를 추가해야 합니다.

이는 매우 복잡하며 전체 상황을 이해하려면 로그인 및 대화형 셸을 읽고 이해해야 합니다. man bash모든 것을 갖췄습니다. 당신은 볼 수 있습니다이 답변이것이 무엇인지 알아보세요. 이 답변 아래의 댓글을 건너뛰지 마세요!

관련 정보