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).
그whileloop은 true 또는 false로 평가되어야 하는 단일 인수(또는 실제로 다중 인수, 즉 마지막 인수의 true 값이 조사됩니다.Jonathan Leffler가 이것을 지적해 주셔서 감사합니다)를 예측합니다.false일 경우 루프는 실행되지 않습니다.그forloop은 항목 목록을 반복하고 각 항목을 루프 변수에 차례로 바인드합니다.참조하는 구문은 산술값의 범위에 걸쳐 루프를 표현하는 하나의(일반화된) 방법입니다.
A for이와 같은 루프는 로 바꿔 말할 수 있다whileloop. 표현은
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 |