
나는 기계의 여러 물리적 코어를 보여주는 스크립트를 작성했습니다. 그러나 결과가 문자열이 아닌 숫자이기를 바랍니다.
스크립트는 다음과 같습니다.
phycores=echo $sudoPW | cat /proc/cpuinfo | grep -m 1 "cpu cores" | awk '{print $ 4;}'
echo $phycores
for i in {1..$phycores}
do
echo "Core $i"
done
답변1
몇 가지 문제가 발견되었습니다.
왜
echo $sudoPW
고양이에게 파이프를 씌웠나요? 고양이는 어딘가 없이 그것을 무시합니다-
.그리고
$phycores
백틱 없이는 설정되지 않거나$()
실행 중인 실제 스크립트가 될 수 없으며 여전히 $phycores를 줄 바꿈이 있는 숫자로 설정합니까?이
{1..n}
구성은 변수와 함께 작동하지 않습니다.$phycores
4인 경우 변수$i
를{1..4}
.stackoverflow에서 이 Q를 참조하세요.상세 사항은. (개행 문자는$phycores
중요하지 않습니다)
어쨌든, 이것은 좀 더 효과적인 스크립트가 되어야 합니다.
phycores=$(echo $sudoPW|cat - /proc/cpuinfo|grep -m 1 "cpu cores"|awk '{print $ 4;}')
echo $phycores
for ((i=1;i<=phycores;++i))
do
echo "Core $i"
done