쉘 변수 번호에는 1 1 1 1 1
탭으로 구분된 숫자가 포함됩니다.
처음 1만 포함하고 싶습니다.
제 생각에는
number= $(echo "$number"| cut -f 3 )
"1: 명령을 찾을 수 없음" 오류가 발생하고 숫자 내용이 변경되지 않습니다.
내가 뭘 잘못했나요?
답변1
number
탭 구분을 가정하고 다음을 고려하십시오.
number= $(echo "$number"| cut -f 3 )
결과는 echo "$number"| cut -f 3
세 번째 요소가 있는 위치 numbers
입니다 1
. 따라서 쉘은 다음을 실행하려고 시도합니다.
number= 1
이 명령에서 변수는 number
일시적으로 비어 있도록 설정되고 쉘은 명령을 실행하려고 시도합니다 1
. 라는 명령이 없으므로 1
쉘은 오류 메시지를 표시합니다.
bash: 1: command not found
이것은 이름이 지정된 명령을 찾을 수 없음을 알려주는 쉘입니다 1
.
해결책은 공백을 제거하는 것입니다.
number=$(echo "$number"| cut -f 3 )
명령 대체 후에는 다음과 같습니다.
number=1
그러면 number
값이 있는 것으로 성공적으로 할당됩니다 1
.
답변2
"=" 기호 뒤에 공백을 추가하지 마십시오. 내 말은, 시도해 보세요.
number=$(echo "$number"| cut -f 3 )
바꾸다
number= $(echo "$number"| cut -f 3 )