이것은 거의 모든 쉘에 사용할 수있는 일반적인 절차입니다. 어쨌든 사용자가 일반적으로 로그인 할 쉘을 알아야합니다.
path="$(grep $USER /etc/passwd | cut -d ':' -f 7)"
shell="$(basename -- "$path")"
그런 다음이 셸에서 일반적으로 읽을 점 파일을 찾아야합니다.
man $shell
작동 할 수있는 지름길은 쉘 이름을 포함하는 도트 파일을 나열하는 것입니다.
ls ~/.*${shell}*
로그인 중에 파일 중 하나가 실제로 읽히는 지 확인하려면 파일 이름을 각 파일에 인쇄하면됩니다. 예를 들면 다음과 같습니다.
echo .bashrc
로그인 할 때 어떤 파일을 읽고 있는지 확인할 수 있으며 수정할 파일을 결정할 수 있습니다. 쉘 echo "$0"
값이 $0
도트 파일을 처리하는 방법 에 따라 달라 지므로 오해의 소지가있을 수 있으므로 값 을 사용하지 말아야합니다 .
변수를 "영구적으로"선언 할 때는 세션까지만 확장됩니다. 세션없이 변수의 값에 액세스 할 수있는 방법이 없으므로 그 밖의 의미는 없습니다. "읽기 전용"을 의미하는 경우 셸에 따라 다르며 Bash에서는 다음을 사용할 수 있습니다.
declare -r VAR
이미 값이 있거나
declare -r VAR=value
동시에 할당합니다. 모든 쉘에이 기능이있는 것은 아닙니다.
대부분의 쉘에서 변수를 선언하려면 변수 이름 ( [A-Za-z_][A-Za-z0-9_]*
) 다음에 등호 ( 등호 주위에 공백 이 없음 )와 값 (값이 단순한 경우가 아니라면 인용하는 것이 바람직 함)을 사용해야합니다 [A-Za-z0-9_]+
. 예를 들면 다음과 같습니다.
name="John Doe"
ip=127.0.0.1
HORRIBLE=1