이 결과를 셸 변수에 할당하는 방법은 무엇입니까?쉘 스크립트 변수에 출력을 할당하는 방법은 무엇입니까?
입력 :
이echo '1+1' | bc -l
출력 :
2
시도가 :
이(작동하지 않았다)
#!bin/sh
a=echo '1+1' | bc -l
echo $a
이 결과를 셸 변수에 할당하는 방법은 무엇입니까?쉘 스크립트 변수에 출력을 할당하는 방법은 무엇입니까?
입력 :
이echo '1+1' | bc -l
출력 :
2
시도가 :
이(작동하지 않았다)
#!bin/sh
a=echo '1+1' | bc -l
echo $a
명령 대체라고하는 쉘 기능을 찾고 있습니다.
2 개 위로 돌 시대에 cmd를 대체
원래의 형태 있지만, 모든 유닉스 쉘 (물론 거의 모든) 완전히 휴대용 및 사용할 수 있습니다.
당신은
$ a=$(echo 1+1 | bc -l)
$ echo $a
2
$
$(cmd)
와 함께 제공 즉
$ a=`echo 1+1 | bc -l`
$ echo $a
2
$
현대, 찾고 덜 투박한 쉽게 중첩 가능한 cmd를-대체를 둘러싸
'she-bang'행에 #!/bin/sh
이 표시되어 실제 Unix 플랫폼에서 실행중인 경우 /bin/sh
은 원래의 Bourne 쉘이며 위의 옵션 1을 사용해야합니다.
#!/bin/sh
을 사용하면서 2 번 옵션을 시도하면 제대로 작동합니다. echo ${.sh.version}
또는 /bin/sh -c --version
을 입력하고 유용한 정보가 있는지 확인하십시오. 버전 번호를 얻으면 최신 쉘에 포함 된 추가 기능에 대해 배우고 싶을 것입니다. 당신이 정말로, zsh을, 경우 ksh93의 +를 떠들썩한 파티를 사용하는 경우 더 많은 수학 연산을 수행하는 경우 새로운 기능의
말하기, 다음
a=$((1+1))
로 샘플 코드를 다시 작성 또는 수, 그 모든 내부있을 것 (bc
와 당신이 할 수있는 반면에) 당신은 별도의 프로세스 생성을 방지 할 수 있습니다,하지만 당신은 쉘에서 부동 소수점 연산 할 수 없어, 어느 경우
((b=1+1))
echo $b
2
: 범위, 당신은 같은 쉘 기능 연산을 사용할 수 있습니다.
원더풀 설명. Thx 대단히. 잘 작동합니다! – GarouDan
가능한 [BASH 변수를 명령 출력과 동일하게 설정하는 방법] (http://stackoverflow.com/questions/4651437/how-to-set-a-bash-variable-equal-to -the-output-from-a-command) – Jahid