bash_aliases 및 "if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases fi"의 의미

bash_aliases 및 "if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases fi"의 의미

내 파일에 내가 이해하지 못하는 작은 부분이 있는데 .bashrc그 의미와 구문 설명을 묻고 싶습니다.

# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

나는 #이 각 줄을 주석으로 만든다는 것을 확실히 이해합니다.

if ... then이 말을 나에게 설명해 주실 수 있나요 ? 무슨 -f뜻인가요?

[]코드의 첫 번째 줄에 왜 이것이 있습니까?

;왜 뒤에 하나가 있지 [ -f ~/.bash_aliases ]?

코드의 두 번째 줄이 로 시작하는 이유 .와 두 번째 줄 전체가 실제로 의미하는 바는 무엇입니까? Linux에 bash_aliases를 포함하는 파일이 있다는 것을 알고 있지만 .bash_aliases두 번째 줄을 이해하지 못합니다.

답변1

  1. if ... then이 말을 나에게 설명해 주실 수 있나요 ?

    즉, .bash_aliases홈 디렉터리에 파일 이름이 있으면 해당 파일을 사용하십시오.

  2. 무슨 -f뜻인가요?:

    파일이 존재하고 일반 파일(디렉토리 등이 아님)인지 또는 일반 파일에 대한 심볼릭 링크인지 테스트합니다.

  3. []코드의 첫 번째 줄에 왜 이것이 있습니까?

    테스트를 실행하는 데 사용되는 쉘 명령입니다. 또 다른 방법은if test -f .bash_aliases; then

  4. ;왜 뒤에 하나가 있지 [ -f ~/.bash_aliases ]?

    세미콜론은 bash의 명령 구분 기호입니다. test명령을 종료하고 then블록이 동일한 줄에서 시작되도록 허용하려면 이 정보가 필요합니다 .

    또는 구분 기호로 사용하는 것을 피하고 ;개행 문자를 사용하여 명령을 명시적으로 분할할 수 있습니다.

    if [ -f ~/.bash_aliases ]
    then
    
  5. 코드의 두 번째 줄이 a로 시작하는 이유 .와 실제 의미

    실행할 명령의 이름입니다. (점) 명령은 .파일 검색을 위한 쉘 내장 명령입니다. bash파일이 실행될 것이라는 합리적인 가정을 통해 .bashrc더 읽기 쉽지만 POSIX가 아닌 명령을 대신 사용할 수 있습니다.source.

    source ~/.bash_aliases
    

일부 쉘(예: dash일부 변형) 은 ksh이를 지원하지 않습니다 source.

당신은 읽고 싶을 수도 있습니다배쉬 문서.

관련 정보