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 -s
Linux Mint처럼 데비안에서도 개인 별칭을 얻으려는 목표를 어떻게 달성하나요 ?
sudo -s
설명하다
sudo -s
내 Linux Mint 에는 sudo -i
.su
su -
그것은 Linux Mint에서 내 필요에 맞게 작동하고, 유용한 별칭이 많이 정의되어 있으며, 내 Debian 서버에서도 작동하기를 원합니다.
답변1
.bash_alias
올바른 쉘 초기화 파일에서 이 파일을 가져와야 합니다 . 초기화 파일은 셸 시작 방법에 따라 달라집니다. SSH를 통해 호출하는 것은 로컬 컴퓨터에서 호출하는 것과 다릅니다. 그러나 다시 호출하면 sudo -s
대화형 비로그인 루트 셸이 시작되므로 두 시스템 모두에서 동일해집니다. 그러나 동일한 별칭을 얻으려면 동일한 정의가 필요합니다.
주장한다면 파일을 ssh 사용자에게 sudo -s
제공하십시오 . 따라서 다음 줄을 추가하면 충분합니다 ..bash_aliases
.bashrc
~/.bashrc
. ~/.bash_aliases
이 lll
별칭은 이전에 Mint에서는 작동했지만 sudo -s
Debian에서는 작동하지 않았습니다. 왜냐하면 SSH 세션이므로 로그인 쉘이었기 때문입니다. 반면 Mint에서는 대화형으로만 작동했습니다. SSH Debian에서 별칭을 즉시 사용할 수 있게 하려면 .profile
파일에 다른 소스를 추가해야 합니다.
이는 매우 복잡하며 전체 상황을 이해하려면 로그인 및 대화형 셸을 읽고 이해해야 합니다. man bash
모든 것을 갖췄습니다. 당신은 볼 수 있습니다이 답변이것이 무엇인지 알아보세요. 이 답변 아래의 댓글을 건너뛰지 마세요!