这是一个创建于 2772 天前的主题,其中的信息可能已经有所发展或是发生改变。
有一个正确命令:
keytool -exportcert -alias androiddebugkey -keypass android -keystore debug.keystore -storepass android
其中我的 key 密码是 android -storepass android ,但是当密码带有$符号的时候,整行命令就 broken 了呀
错误的命令:
keytool -exportcert -alias androiddebugkey -keypass android -keystore debug.keystore -storepass andr$oid
这行命令会解析失败,因为其中的$貌似会被识别为变量的前置。
请问有没有类似""的 wrapper 能够包裹住变量的东西呀?
尝试过用引号, wrapper 失败。。
keytool -exportcert -alias androiddebugkey -keypass android -keystore debug.keystore -storepass "andr$oid"
第 1 条附言 · 2017-03-24 11:22:15 +08:00
多谢各位 v 友,防止 argumen 里面注入非法字符有 2 种,
1. 在每个非法字符前面用\转义。
2. 用单引号'' 来包裹 argument 。
11 条回复 • 2017-03-24 11:20:48 +08:00
|
|
1
dzxx36gyy 2017-03-23 17:22:41 +08:00 via Android 1
试试单引号?
|
|
|
2
lslqtz 2017-03-23 17:28:18 +08:00 via iPhone 1
当然是转义
|
|
|
3
momocraft 2017-03-23 17:32:52 +08:00 1
" ' \
|
|
|
4
QAPTEAWH 2017-03-23 17:42:08 +08:00 1
还好密码不是 ;rm -rf /
|
|
|
5
vjnjc 2017-03-23 17:47:44 +08:00
@ dzxx36gyy 在每个$前面加\有效。但我想找一个一劳永逸的 wrapper ,不知道有没有这种东西
|
|
|
6
vjnjc 2017-03-23 17:48:46 +08:00
@ lslqtz 转义符有效,我想问有没有 wrapper 让参数形成一个整体的用法
|
|
|
7
vjnjc 2017-03-23 17:49:33 +08:00
|
|
|
8
vjnjc 2017-03-23 17:50:18 +08:00
@ momocraft 我用单个斜杠就 ok 了,能不能麻烦解释下"'是干嘛用的呀?
|
|
|
9
66450146 2017-03-23 19:12:21 +08:00 2
> echo $var
> export var=passwd > echo $var passwd > echo \$var $var > echo "$var" passwd > echo '$var' $var
|
|
|
10
iNohn 2017-03-24 11:03:11 +08:00 1
Linux: cat | xargs -i keytool -exportcert -alias androiddebugkey -keypass android -keystore debug.keystore -storepass {}
Mac: cat | xargs -I {} keytool -exportcert -alias androiddebugkey -keypass android -keystore debug.keystore -storepass {} ( xargs 后面是大写的 i ,不是小写的 L )
然后把密码粘贴进去,回车, ctrl + c 不过如果 keytool 本身需要标准输入流的话可能会跪
|
|
|
11
vjnjc 2017-03-24 11:20:48 +08:00
|