[问题求助] 终端运行echo命令
电梯直达到第
poster avatar
#@¥
deepin
发表于 2024-08-01 14:59
楼主

image.png

这是否是bug😳

回复 收藏 只看作者
所有回复
gfdgd_xi
deepin
生态共建组骨干
发表于 2024-08-01 15:09
沙发

可以试一下前面加个

set +H

或者外面换成单引号

image.png

回复 只看作者
把一切操作变成GUI
deepin
生态共建组骨干
发表于 2024-08-01 15:18
板凳

你的 > 前面加空格了吗?

回复 只看作者
昨夜的星辰
deepin
发表于 2024-08-01 15:57
地板

在 > 的前后都要加空格

image.png

回复 只看作者
兰蔻
deepin
发表于 2024-08-01 16:16
4楼
把一切操作变成GUI

你的 > 前面加空格了吗?

重定向操作符 > 在bash中是元字符,可以分隔单词,不需要加空格。看报错信息,明显是双引号内的历史替换出了问题。字符 ! 引入了历史替换(就像 $ 引入变量和参数扩展、算术扩展、命令替换一样),并且可以在双引号引用机制中生效。

解决办法可以像一楼那样,关闭历史扩展功能(使用命令 set +H 来关闭);或者让 ! 后面跟着一个空格:

echo "print('hello world! ')">~/Downloads/hello.py
回复 只看作者
神末shenmo
deepin
星火商店作者
解答组版主
发表于 2024-08-01 17:17
5楼
兰蔻

重定向操作符 > 在bash中是元字符,可以分隔单词,不需要加空格。看报错信息,明显是双引号内的历史替换出了问题。字符 ! 引入了历史替换(就像 $ 引入变量和参数扩展、算术扩展、命令替换一样),并且可以在双引号引用机制中生效。

解决办法可以像一楼那样,关闭历史扩展功能(使用命令 set +H 来关闭);或者让 ! 后面跟着一个空格:

echo "print('hello world! ')">~/Downloads/hello.py

这个历史扩展怎么用呢

回复 只看作者
鲜衣怒马
deepin
内测贡献用户
发表于 2024-08-01 20:53
6楼
神末shenmo

这个历史扩展怎么用呢

!+历史命令编号

image.png

回复 只看作者
#@¥
deepin
发表于 2024-08-02 08:46
7楼
gfdgd_xi

可以试一下前面加个

set +H

或者外面换成单引号

image.png

成功了,谢谢👍

回复 只看作者
#@¥
deepin
发表于 2024-08-02 08:46
8楼

谢谢大家帮忙解惑thanks 用set +H解决了

回复 只看作者