敲命令时参数总忘记加括号怎么破?

2021-11-23 10:31:43 +08:00
 zhoudaiyu
举个🌰,curl 127.0.0.1/?a=1&b=2 没加括号就变成了两个命令 curl 127.0.0.1/?a=1 和 b=2 。这种有办法避免吗?
4684 次点击
所在节点    Linux
42 条回复
clf
2021-11-23 10:34:27 +08:00
后面整个放在引号里是不是就可以了。
yolee599
2021-11-23 10:34:54 +08:00
定一个规定,忘记一次就给 curl 项目捐 1 美元
zhoudaiyu
2021-11-23 10:36:08 +08:00
@clf 是,但是老忘记….
kidonng
2021-11-23 10:44:34 +08:00
尚未发布的 fish shell 3.4 可以开启 ampersand-nobg-in-token 支持直接输入这类命令 ( PR #7991 )
weixiangzhe
2021-11-23 10:44:35 +08:00
没有啥子问题,再来一遍不就好,建议快捷键 ctrl+p 上次的输入,ctrl+a 行首 ctrl+e 行首 ctrl+b ctrl+f 移动光标,只要我操作 够快,再来一遍无所谓吧
kidonng
2021-11-23 10:53:28 +08:00
补充一下,ampersand-nobg-in-token 是解决 &符号的问题,还需要开 qmark-noglob 解决 ? 符号的问题
jaredyam
2021-11-23 11:02:25 +08:00
所以要保持加引号的好习惯,甚至于什么时候用双引号什么时候用单引号,shell 脚本写多了大概会被动养成。
josexy
2021-11-23 11:15:32 +08:00
时刻提醒自己要加引号,看下面这两条命令的区别就知道了
rm -rf /home/ubuntu/ temp
rm -rf "/home/ubuntu/ temp"
laoyur
2021-11-23 11:17:03 +08:00
不是该说忘记加引号吗?
herojaxy
2021-11-23 11:22:32 +08:00
每次成对敲,再回退一格不就行了,""()[]{}
这样肯定忘记
ChrisFreeMan
2021-11-23 11:45:16 +08:00
记得以前看到一个 star 很高的 python 写的命令行工具,只要输错指令,敲出 fuck 就会帮你纠正
zoharSoul
2021-11-23 12:07:38 +08:00
@weixiangzhe #5 ctrl+a 也太难按了吧? 小拇指按 ctrl 无名指按 a? mac 键盘上模拟了下感觉手要断了
nekomiao
2021-11-23 12:18:54 +08:00
@zoharSoul 用手指根按,不用用手指头
bowser1701
2021-11-23 12:29:55 +08:00
@zoharSoul ctrl 映射到大小写键
learningman
2021-11-23 12:31:49 +08:00
@josephxrays #8 还可以是 rm -rf / home/ubuntu/temp
julyclyde
2021-11-23 12:48:01 +08:00
嘿嘿,这应该是加引号啊不是括号啊
和 lz 同样的 curl 问题,我以前出过 100 万 usd 的事故
zhoudaiyu
2021-11-23 12:49:58 +08:00
@julyclyde #16 是我写错了,应该是引号,感谢。。我 append 一下
kidonng
2021-11-23 13:06:29 +08:00
人家都说了总忘记,还提醒人家加引号感觉怪怪的。

@ChrisFreeMan nvbn/thefuck
sprite82
2021-11-23 13:33:13 +08:00
忘记一次,就敲 100 遍带引号的命令,来过一次就不会忘了
pkookp8
2021-11-23 14:15:38 +08:00
只要看到&就加引号

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/817313

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX