3
敲命令时参数总忘记加括号怎么破?
source link: https://www.v2ex.com/t/817313
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
举个🌰,curl 127.0.0.1/?a=1&b=2 没加括号就变成了两个命令 curl 127.0.0.1/?a=1 和 b=2 。这种有办法避免吗?
第 1 条附言 · 5 小时 57 分钟前
括号 -> 引号
38 条回复 • 2021-11-23 18:40:23 +08:00
kidonng 8 小时 3 分钟前 via Android
尚未发布的 fish shell 3.4 可以开启 ampersand-nobg-in-token 支持直接输入这类命令 ( PR #7991 )
weixiangzhe 8 小时 3 分钟前
没有啥子问题,再来一遍不就好,建议快捷键 ctrl+p 上次的输入,ctrl+a 行首 ctrl+e 行首 ctrl+b ctrl+f 移动光标,只要我操作 够快,再来一遍无所谓吧
kidonng 7 小时 54 分钟前 via Android
补充一下,ampersand-nobg-in-token 是解决 &符号的问题,还需要开 qmark-noglob 解决 ? 符号的问题
josephxrays 7 小时 32 分钟前 1
时刻提醒自己要加引号,看下面这两条命令的区别就知道了
rm -rf /home/ubuntu/ temp
rm -rf "/home/ubuntu/ temp"
rm -rf /home/ubuntu/ temp
rm -rf "/home/ubuntu/ temp"
julyclyde 2 小时 38 分钟前
@Xusually 就是因为&符号被 shell 解释,导致缺了一个参数,这个参数没有明确指定的时候,默认值是另一个,然后就执行了一个本来已经不打算再用的模块,把内存撑爆了,一个机房所有同类服务器进程全都爆了
kidonng 36 分钟前
@SingeeKing 万能的 zsh 又来了,又把哪个插件当原生了?
```
kid@Pavilion ~ % curl localhost/?a=1&b=2
[1] 22401
zsh: no matches found: localhost/?a=1
kid@Pavilion ~ %
[1] + exit 1 curl localhost/?a=1
```
```
kid@Pavilion ~ % curl localhost/?a=1&b=2
[1] 22401
zsh: no matches found: localhost/?a=1
kid@Pavilion ~ %
[1] + exit 1 curl localhost/?a=1
```
kidonng 32 分钟前
@2i2Re2PLMaDnghL 确实和 shell 解析有关,因为这类命令的运行过程是这样的 (以 curl localhost/?a=1&b=2 为例)
1. Shell 起一个后台进程运行 curl localhost/?a=1 ,这个命令本身还有一个 ? 的 glob 问题
2. Shell 运行 b=2 ,然后报 command not found
thefuck 应该只会看上一条命令,而不能综合考虑整个上下文。
1. Shell 起一个后台进程运行 curl localhost/?a=1 ,这个命令本身还有一个 ? 的 glob 问题
2. Shell 运行 b=2 ,然后报 command not found
thefuck 应该只会看上一条命令,而不能综合考虑整个上下文。
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK