Home
Sign Up
Sign In
V2EX
›
问与答
向 shell 脚本传参数怎么带上引号
JohnLou
·
Nov 18, 2016
· 3489 views
This topic created in 3470 days ago, the information mentioned may be changed or developed.
bash 脚本
learn.sh
里有一行
/
test.sh
arg1 arg2 "arg3 $@"
test.sh
需要 3 个参数,像上面那样一直提示参数数量不对,用了转义双引号也不行。
脚本
参数
转义双
arg1
8 replies
•
2016-11-19 08:40:52 +08:00
1
ik
Nov 18, 2016 via iPhone
"\"\""
不知道一样行不行
2
JohnLou
OP
Nov 18, 2016
@
ik
不可以。。
3
vghdjgh
Nov 18, 2016
双引号外面套单引号?
4
ik
Nov 18, 2016 via iPhone
@
JohnLou
好吧,脚本用的不多,不太清楚,
几个参数使用分隔符合并成一个参数,传递参数后再分割… 我只能想到这个办法了。仅做参考
5
JohnLou
OP
Nov 18, 2016
@
ik
tesh.sh
不能动,我这里是二进制的,只是举个例子。
6
jkeylu
Nov 18, 2016
1
把 $@ 改为 $*
"$*" 双引号包裹后等价于 "$1 $2 $3 ..."
"$@" 双引号包裹后等价于 "$1" "$2" "$3" ...
所以
/
test.sh
arg1 arg2 "arg3 $@"
相当于
/
test.sh
arg1 arg2 "arg3 $1" "$2" "$3" ...
7
JohnLou
OP
Nov 18, 2016
@
jkeylu
好像解决了,感谢。
8
ik
Nov 19, 2016 via iPhone
@
JohnLou
好吧。解决就好
About
·
Help
·
Advertise
·
Blog
·
API
·
FAQ
·
Solana
·
1199 Online
Highest 6679
·
Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 32ms ·
UTC 23:29
·
PVG 07:29
·
LAX 16:29
·
JFK 19:29
♥ Do have faith in what you're doing.
❯