문제상황
umask를 입력했더니
0022로 나와야 할 것이
2로 나왔다.
B셸을 C셸로 바꿔서 이런 거였다.
C셸을 B셸로 바꿔줘야 한다.
해결방법
chsh -s $(which bash) <<b셸로 바꾸는 명령어어다.
<<chsh는 쉘을 관리하는 명령어 chsh -s는 쉘을 변경하는 명령어,
<< $(which bash)는 bash 경로를 출력값(?)으로 바꿔줘서
<< 즉 bash 결로로 쉘을 변경해달라가 된다.
echo $SHELL <<입력해서 /bin/bash 나오면 잘 바뀐 거다.
<<SHELL이란 변수를 출력해줘란 뜻이다.
해결방법 해석
(1) chsh
chsh 명령은 사용자의 로그인 shell 속성을 변경한다.
쉘 속성은 사용자가 시스템에 로그인한 후에 실행되는 초기 프로그램을 정의한다.
이 속성은 /etc/passwd 파일에 저장된다.
(2) chsh -s
지정하는 쉘을 앞으로 사용할 로그인 쉘로 바꿔준다.
s라는 인수는 쉘을 바꿔주는 인수다.
chsh는 쉘을 관리하는 인수다.
(3) $ <<echo $SHELL이라고 입력하면 변수의 값을 출력해 준다.
c언어에서 int a = 10;을 입력해서
a라는 변수를 선언했던 것처럼
리눅스에서도 변수를 선언할 수 있다.
리눅스에서 가령 a라는 변수를 선언하고 그 변수에 10이란 값을 저장했다고 하자.
이 변수에 있는 값을 알고 싶을 땐
echo $a라고 입력하면 된다.
그럼 10이 나온다.
마찬가지로 현재 리눅스에 있는
SHELL이라는 변수에 담긴 것을 보고 싶을 땐
echo $SHELL을 입력하면
/usr/bin/zsh이 출력된다.
즉 SHELL 변수는 /usr/bin/zsh로 정의되어 있다는 걸 알 수 있다.
만약에 내가
cd $SHELL
이라고 입력하면
/usr/bin/zsh
로 이동한 걸 알 수 있다.
(4) $() <<명령어의 실행 결과를 의미한다.
$(Command)쓰면, $(Command)는 명령어 Command의 실행 결과로 대치된다.
which
which는 특정 명령어의 위치를 찾아주는 명령어다.
가령 which find라고 입력하면
/bin/find
이렇게 find 명령어가 저장된 위치를 알려준다.
bin밑에 find란 명령어가 있다는 거다.
참고 사이트
'BOX-IT > Linux' 카테고리의 다른 글
[Linux] 터미널(terminal) 창 한 번에 다 날려버리기 (0) | 2022.04.27 |
---|---|
[Linux] 파일 압축할 때 쓰는 tar과 gzip이 뭘까? (0) | 2022.04.27 |
[Linux] 사용자 계정도 mount할 수 있게 해주기 (0) | 2022.04.20 |
[Linux] chmod를 입력했더니 Operation not permitted뜨면 (0) | 2022.04.20 |
[Linux] vsftp 연결 안될 때 해결 방법 (0) | 2022.04.15 |