명령 대체 사용

명령 대체 사용

쉘 변수 번호에는 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 )

관련 정보