Centos 7에 Tomcat 8을 설치하려고 합니다. 저는 터미널을 루트로 사용하고 있습니다. 을 입력하면 source ~/.bashrc
터미널에서 다음 오류를 반환합니다 -bash: unalias: ls: not found
.
source ~/.bashrc
명령이 성공할 수 있도록 이 오류를 해결하려면 어떻게 해야 합니까 ?
unalias ls
최근에 이 줄을 마지막 줄로 추가했습니다.~/.bashrc
동일한 CentOS 설치에서 색상 앨리어싱과 관련된 기타 문제에 대한 @Cyrus 솔루션.
답변1
실제로 별칭인 경우에만 별칭 해제를 시도해야 합니다. 변경
unalias ls
도착하다
[[ $(type -t ls) == "alias" ]] && unalias ls
답변2
ls
문제를 재현할 수는 없지만 이미 한 번 앨리어싱을 해제했기 때문에 다시 앨리어싱을 해제할 수 없다는 것이 문제인 것 같습니다 . 그러나 나는 또한 명령이 제대로 작동한다고 확신합니다 source
. 확인해 보셨나요? 대부분 올바른 소스에서 나온 것이므로 오류 메시지를 무시할 수 있습니다.
더 중요한 것은 왜 달리고 있습니까 source ~/.bashrc
? 그럼에도 불구하고, 새로운 대화형 비로그인 쉘을 시작할 때 이 파일을 읽어야 합니다. 변경 사항을 적용하여 다시 로드하는 경우 문제 없습니다. 변경 사항이 로드됩니다. 이 오류를 무시하십시오.
답변3
별칭이 취소된 경우에도 현재 표시되는 오류 메시지가 표시되지 않도록 대체 unalias ls 2>/dev/null
항목 을 넣는 것을 고려하세요 .~/.bashrc
ls
또한 루트 셸에 로그인하지 않는 것도 고려해 보세요. 이 오류의 내용을 이해하지 못한다면 루트 셸에 로그인하는 것은 좋은 생각이 아니라고 생각합니다. 일반 사용자 계정을 사용하면 시스템을 손상시키는 실수를 하기가 어렵고 재부팅으로 고칠 수 없는 방식으로 시스템을 손상시키는 것은 더욱 어렵습니다. 루트 셸을 사용하면 시스템을 손상시키는 것이 매우 쉬워집니다.
답변4
[ -t 0 ] && unalias ls
이는 실제로 별칭인지 직접 테스트하는 것이 ls
아니라 터미널에 있는지 테스트하는 것입니다. 이는 특히 ~/.bashrc
동일한 방식으로 더 많은 코드를 처리하려는 경우 더욱 간단합니다.
if [ -t 0 ]; then
unalias ls
# ... any other terminal-only actions
fi