gfdgd_xi
deepin
发表于 2024-08-01 15:09 生态共建组骨干
可以试一下前面加个
set +H
或者外面换成单引号

回复 点赞0 只看作者
可以试一下前面加个
set +H
或者外面换成单引号

你的 > 前面加空格了吗?
在 > 的前后都要加空格

你的 > 前面加空格了吗?
重定向操作符 > 在bash中是元字符,可以分隔单词,不需要加空格。看报错信息,明显是双引号内的历史替换出了问题。字符 ! 引入了历史替换(就像 $ 引入变量和参数扩展、算术扩展、命令替换一样),并且可以在双引号引用机制中生效。
解决办法可以像一楼那样,关闭历史扩展功能(使用命令 set +H 来关闭);或者让 ! 后面跟着一个空格:
echo "print('hello world! ')">~/Downloads/hello.py
重定向操作符 > 在bash中是元字符,可以分隔单词,不需要加空格。看报错信息,明显是双引号内的历史替换出了问题。字符 ! 引入了历史替换(就像 $ 引入变量和参数扩展、算术扩展、命令替换一样),并且可以在双引号引用机制中生效。
解决办法可以像一楼那样,关闭历史扩展功能(使用命令 set +H 来关闭);或者让 ! 后面跟着一个空格:
echo "print('hello world! ')">~/Downloads/hello.py
这个历史扩展怎么用呢
这个历史扩展怎么用呢
!+历史命令编号

可以试一下前面加个
set +H
或者外面换成单引号

成功了,谢谢👍
谢谢大家帮忙解惑
用set +H解决了
热门活动
查看更多
这是否是bug😳