CentOS 8 Linux가 있고 다음과 같은 간단한 제품 표현식을 평가하려고 합니다. bash 터미널에서 출력을 보고
[root@localhost /]# expr 4 * 2
싶지만 다음 구문 오류가 발생합니다 . 이 경우 무엇이 잘못될 수 있나요?8
expr: syntax error: unexpected argument ‘bin’
답변1
쉘이 팽창되고 있습니다 *
. 이는 현재 디렉토리의 파일 이름으로 대체된 글로브입니다. 당신이 뛰어들어왔기 때문에 /
,
expr 4 * 2
~이 되다
expr 4 bin boot dev etc home lib ... 2
이로 인해 오류가 발생합니다.
연산자를 인용하거나 이스케이프 처리해야 합니다.
expr 4 "*" 2
expr 4 \* 2