![쉘 프로그래밍 temp=$1 및 temp=1](https://linux55.com/image/21031/%EC%89%98%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%20temp%3D%241%20%EB%B0%8F%20temp%3D1.png)
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
, ...는 명령줄에서 전달된 인수(있는 경우)를 가리키는 특수한 경우입니다.