쉘 프로그래밍 temp=$1 및 temp=1

쉘 프로그래밍 temp=$1 및 temp=1

temp=$1이들그리고 그리고 의 차이점은 무엇인가요 temp=1? 달러 기호가 필요한 이유는 무엇입니까?

예를 들어:

#!/bin/bash

temp=$1
cell=$((($temp-32)*5/9))

echo $cell

답변1

달러 기호 트리거매개변수 확장; 1는 문자열 이지만"1" 첫 번째 쉘 매개변수입니다.$1

답변2

[뭐 빼고는루아흐이미 언급함]

스크립트는 온도 값을 화씨에서 섭씨로 변환하려고 시도합니다. 예를 들어, 파일을 이름으로 저장할 수 있습니다 tocelsius.sh. 이제 스크립트에 값을 전달하여 주어진 온도(화씨 단위)를 변환할 수 있습니다.

bash tocelsius.sh 66

이렇게 하면 $1값 66이 포함됩니다. 따라서 해당 출력을 얻을 수 있습니다.

그러나 을 쓰면 temp=1변수는 temp항상 고정된 값 1을 사용합니다. 위에 표시된 스크립트에 전달된 모든 매개변수는 고려되지 않습니다.

요약해서 $xyz지적하면변수 xyz. $1, $2, ...는 명령줄에서 전달된 인수(있는 경우)를 가리키는 특수한 경우입니다.

관련 정보