【发布时间】:2011-02-13 00:49:35
【问题描述】:
keytool 不能解析公正的目录。即这有效:
keytool -keystore "/users/me/Desktop" ...
这不是:
keytool -keystore "~/Desktop" ...
有什么我可以这样称呼的:
keytool -keystore "$(<cmd> ~/Desktop)" ...
更新
我想我实际上应该更具体:
这就是我正在做的事情:
myVar=~/Desktop
<allow user to overwrite default value of myVar>
keytool -keystore "$myVar" ...
我认为在 keytool 命令中不引用 $myVar 是不安全的,以防有人在其中放置一些恶意代码。
【问题讨论】:
-
虽然很可爱,但标签已经足够杂乱无章了。请不要创建不需要的新的。
-
根据您的编辑,您肯定需要 eval 因为外壳不会递归地扩展内容。这意味着它将扩展变量,但不会扩展变量内部的内容
-
您应该使用
$HOME或解析/etc/passwd(例如使用getent)或类似的身份验证文件/服务。我认为~更多是为了方便命令行。