我处于无法为我的案件找到解决方案的情况。
我需要在 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)})'
但这一次,\
被认为是命令的一部分,实际上没有意义,因为我只想包装我的命令。
我该如何解决这个困境?
使用单引号和双引号的组合,或者只是把
\!
引号放在外面。一般来说,使用单引号引起的意外较少。