어떻게 사용하나요? \?를 사용하여 bash에서 명령을 래핑합니까?

어떻게 사용하나요? \?를 사용하여 bash에서 명령을 래핑합니까?

내 상황에서는 내 사건에 대한 해결책을 찾을 수 없습니다.

Bash에서 긴 명령을 실행해야 합니다. 예를 들면 다음과 같습니다.

node -p "const db = {1:1, 2:2};Object.keys(db).sort((a, b)=> a-b).map(Number).filter((n) => {return !isNaN(n)})"

\이 명령은 상대적으로 길기 때문에 명령을 그것으로 포장해 보았습니다 . 이와 같이:

node -p "const db = {1:1, 2:2};Object.keys(db)\
.sort((a, b)=> a-b).map(Number).filter((n) => {return !isNaN(n)})"

하지만 불평한다

bash: !isNaN: event not found

이거랑 비슷한거 찾았는데질문

"그래서 다음으로 바꾸려고했습니다 '.

node -p 'const db = {1:1, 2:2};Object.keys(db)\
.sort((a, b)=> a-b).map(Number).filter((n) => {return !isNaN(n)})'

그러나 이번에는 \명령의 일부로 간주되는 내용이 실제로 의미가 없습니다. 왜냐하면 명령을 래핑하고 싶기 때문입니다.

이 딜레마를 어떻게 해결합니까?

답변1

작은 따옴표와 큰 따옴표를 조합하여 사용하거나 \!따옴표 바깥에 따옴표를 넣으세요. 일반적으로 작은따옴표를 사용하면 큰 놀라움이 발생하지 않습니다.

node -p "const db = {1:1, 2:2};Object.keys(db)\
.sort((a, b)=> a-b).map(Number).filter((n) => {return "\!"isNaN(n)})"

node -p "const db = {1:1, 2:2};Object.keys(db)\
.sort((a, b)=> a-b).map(Number).filter((n) => {return "'!'"isNaN(n)})"

node -p 'const db = {1:1, 2:2};Object.keys(db)'\
'.sort((a, b)=> a-b).map(Number).filter((n) => {return !isNaN(n)})'


관련 정보