이 명령을 발견했습니다. 소스가 bash 프로필을 다시로드하고 Ubuntu에서 필요한 Ruby 권한에 대한 고정 권한을 이해합니다. 그러나 이전에 그 부분은 무엇입니까 & &을 의미합니까?[[-s는 (는) 리눅스 쉘에서 의미가 있습니다
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
이 명령을 발견했습니다. 소스가 bash 프로필을 다시로드하고 Ubuntu에서 필요한 Ruby 권한에 대한 고정 권한을 이해합니다. 그러나 이전에 그 부분은 무엇입니까 & &을 의미합니까?[[-s는 (는) 리눅스 쉘에서 의미가 있습니다
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
에 조금 아래로 스크롤합니다.
이에 대한 자세한 내용은 파일이 존재 및 비인지) 단일 브래킷
-s
시험을 대체 할 수 How to use double or single brackets, parentheses, curly braces를 볼 수 있지만 내가 아는 한 -s
은 추가 기능 및 이중 브라켓이 필요하지 않습니다 empty
&&
은 왼쪽의 명령이 오류 리턴 코드없이 실행되는 한 오른쪽에서 자동으로 명령을 실행합니다.
그래서이 문은 파일이 존재하고 비어 있지 않은지 여부를 테스트하고, 그렇다면 현재 쉘 환경에 파일을 제공합니다.
[[...]] 부분은 연산자를 사용하여 조건을 테스트 할 수 있습니다. if 문이라고 생각하십시오. 귀하의 예제에서, 당신은 참조 파일이 비어 있지 않은지 테스트하는 -s 연산자를 사용하고 있습니다. 이
하지만 대괄호로 묶어야합니다. 표준 양식이 더 짧을 때 bash-ism을 사용할 이유가 없습니다. – Nemo
아주 좋은 답변들. Red Hat RHCSA 서적에서이 표기법을 찾을 수 없었습니다. –
[[
빈 아니라면
-s
은 다음 파일의 크기가 0보다 큰 경우 true를 반환합니다.
man bash (Conditional Constructs)을 참조하십시오.
[[
및 ]]
이 ||
대신 -o
및 &&
대신 -a
같은 구조를 수 있도록, 기존의 프로그래밍 언어에 더 유사하다 고급 기능을 사용할 수 있습니다 : 현실을 파괴하자 [[...]]
고맙습니다. 이 답을 어디서든지 찾을 수 없었습니다. –
감사합니다. 내 xmark에 bash 맨 페이지를 저장했습니다. –