의사 결정 구조에 대해 배우고 있으며 다음 코드를 발견했습니다. if [ -f ./myfile ] then cat ./myfile else cat /home/user/myfile fi [ -f ./myfile ] && cat ./myfile || cat /home/user/myfile 둘 다 동일하게 동작합니다. 한 가지 방법을 다른 방법으로 사용하면 어떤 이점이 있습니까?
나는 이중 콜론과 함수 이름이 오늘 배쉬 스크립트를 건너 왔어요 ::예를 들어, 그들을, file::write()그리고 file::read(). Bash 스크립트 에서이 구문을 본 적이 없으며 스크립트를 호출했을 때 놀랍게도 잘 실행되었습니다. 내 시스템 (및 온라인)에서 Bash 매뉴얼 페이지를 검색 한 후 설명서에서 함수 이름에 대한 구문을 지원하는 것을 찾을 수 없습니다. 예를 들어,이 …
다양한 변수가있는 스크립트에서 호출 할 수있는 함수를 작성하고 싶습니다. 어떤 이유로 나는 이것을하는 데 많은 어려움을 겪고 있습니다. 예제 나는 항상 전역 변수를 사용하지만 읽을 수있는 한 코드를 더 읽기 쉽게 만들지는 않습니다. 사용 예 : #!/bin/bash #myscript.sh var1=$1 var2=$2 var3=$3 var4=$4 add(){ result=$para1 + $para2 } add $var1 $var2 …
약 20 개의 작은 .sh파일로 구성된 프로젝트가 있습니다. 일반적으로 파일의 코드가 20 줄을 초과하지 않기 때문에이 이름을 "작음"으로 지정합니다. 나는 유닉스 철학에 충실하기 때문에 모듈 식 접근 방식을 취 했으며 프로젝트를 유지하는 것이 더 쉽습니다. 각 .sh파일 의 시작 부분 에을 넣습니다 #!/bin/bash. 간단히 말해서 스크립트 선언에는 두 가지 목적이 …
Bash에서는 입력 리디렉션 연산자를 명령의 앞쪽으로 이동할 수 있습니다. cat <<< "hello" # equivalent to <<< "hello" cat while 루프에서 동일한 작업을 수행 할 수없는 이유는 무엇입니까? while read -r line; do echo "$line"; done <<< "hello" # hello <<< "hello" while read -r line; do echo "$line"; done # …
TL; DR : POSIX 괄호 그룹에 {예약어 뒤에 공백이 필요 하지만 서브 쉘에 예약어 뒤에 공백이 필요한 이유는 무엇 (입니까? POSIX 쉘 문법은 다음과 같이 중괄호 그룹과 서브 쉘을 정의합니다. brace_group : Lbrace compound_list Rbrace subshell : '(' compound_list ')' 이제 문자 그대로 읽으면 공백이 중요합니다. 이것은 다음과 같이 여는 …