Bash에서 ${}와 $()의 차이
두 가지 질문이 있는데 이해하는데 도움이 필요합니다.
와의 차이는 무엇입니까?
${}
그리고.$()
알고 있습니다.()
명령어를 다른 셸에서 실행하여 배치하는 것을 의미합니다.$
값을 변수에 전달하는 것을 의미합니다.누가 이걸 이해하는데 도와줄 수 있나요?제가 틀렸다면 정정해 주세요.사용할 수 있다면
for ((i=0;i<10;i++)); do echo $i; done
잘 작동하는데 왜 이렇게 못 쓰죠?while ((i=0;i<10;i++)); do echo $i; done
양쪽의 실행 사이클은 어떻게 다릅니까?
구문은 토큰 수준이기 때문에 달러 기호의 의미는 토큰에 따라 달라집니다.표현$(command)
와의 현대적 동의어이다.`command`
이것은 명령어 대체의 약자로, 실행(run)을 의미합니다.command
여기에 출력을 넣습니다.그렇게
echo "Today is $(date). A fine day."
를 실행합니다.date
명령어를 발행하여 그 출력을 인수에 포함시키다echo
. 괄호는 명령어를 서브셸에서 실행하기 위한 구문과는 무관하지만 공통점을 가지고 있습니다(명령어 대체는 별도의 서브셸에서도 실행됩니다).
반대로${variable}
명확화 메커니즘일 뿐이니까${var}text
변수의 내용을 의미하는 경우var
, 그 다음에text
(과 반대로)$vartext
그 말은 변수의 내용을 의미하고vartext
).
그while
loop은 true 또는 false로 평가되어야 하는 단일 인수(또는 실제로 다중 인수, 즉 마지막 인수의 true 값이 조사됩니다.Jonathan Leffler가 이것을 지적해 주셔서 감사합니다)를 예측합니다.false일 경우 루프는 실행되지 않습니다.그for
loop은 항목 목록을 반복하고 각 항목을 루프 변수에 차례로 바인드합니다.참조하는 구문은 산술값의 범위에 걸쳐 루프를 표현하는 하나의(일반화된) 방법입니다.
A for
이와 같은 루프는 로 바꿔 말할 수 있다while
loop. 표현은
for ((init; check; step)); do
body
done
와 동등하다
init
while check; do
body
step
done
읽기 쉽도록 모든 루프 제어를 한 곳에 보관하는 것이 좋습니다.단, 이렇게 표현하면 알 수 있듯이for
루프가 하는 동작은 Roop보다while
고리.
물론 이 구문은 Bash에 따라 다릅니다.클래식 Bourne 쉘은
for variable in token1 token2 ...; do
더 더 우아하게, 더, 더 우아하게, 더 우아하게.echo
""가 되어 있지 않은 를 지정합니다.%
맷맷: :
date +'Today is %c. A fine day.'
이 고립된 예에서는 큰 차이가 없지만 가능한 프로세스를 피하는 것이 중요합니다.)
$()
의미: "먼저 이 값을 평가하고 나머지 라인을 평가합니다."예:
echo $(pwd)/myFile.txt
로 해석될 것이다.
echo /my/path/myFile.txt
★★★★★★★★★★★★★★★★.
${}
변수를 확장합니다.예:
MY_VAR=toto echo ${MY_VAR}/myFile.txt
로 해석될 것이다.
echo toto/myFile.txt
-
을 왜로 사용할?
bash$ while ((i=0;i<10;i++)); do echo $i; done
은 "bash"의
while
'아니다'의 구문이 '아니다'의 구문과 .for
.
'for'와 'while'은 구문이 다르며 반복에 대해 서로 다른 스타일의 프로그래머 제어를 제공합니다.대부분의 비 ASM 언어도 유사한 구문을 제공합니다.
에 아마 수 있을 거예요.i=0; while [ $i -lt 10 ]; do echo $i; i=$(( i + 1 )); done
으로 반복의 관리하다
언급URL : https://stackoverflow.com/questions/27472540/difference-between-and-in-bash
'programing' 카테고리의 다른 글
iOS - ViewController에서 앱 위임 메서드를 호출합니다. (0) | 2023.04.12 |
---|---|
Bash에서 문자열을 배열로 분할하는 방법 (0) | 2023.04.12 |
WPF XAML StringFormat DateTime:잘못된 문화에서 산출물? (0) | 2023.04.12 |
UICollor에서 약간 더 밝은 색상과 어두운 색상으로 구현 (0) | 2023.04.12 |
iOS에서 상태 표시줄 텍스트 색상을 변경하는 방법 (0) | 2023.04.12 |