小编sve*_*son的帖子

在bash脚本中使用PKCS#12证书的cURL

我必须连接到web服务,其中必须有pkcs12证书.我的想法是在bash脚本中使用curl(在OS X下,具体而言).

我已经了解到curl在通信中无法做的一件事就是处理pkcs12证书(.p12).我有什么选择?

我已经读过将证书转换为PEM格式会起作用(使用openssl),但是我不知道如何告诉curl它获得PEM并且应该与请求PKCS12证书的web服务进行通信.

将pkcs12转换为pem就像这样(例如),它对我有用,但是我没有成功地将它们与curl一起使用:

openssl pkcs12 -in mycert.p12 -out file.key.pem -nocerts -nodes
openssl pkcs12 -in mycert.p12 -out file.crt.pem -clcerts -nokeys
Run Code Online (Sandbox Code Playgroud)

任何提示?或者,任何卷曲的替代品?解决方案应该是基于命令行的.

bash curl openssl pkcs12

33
推荐指数
3
解决办法
4万
查看次数

使用XSLT添加/插入子元素

我有以下情况:

我需要将子元素添加到现有的XML标记中.

我当前的XML看起来像这样,它包含一个空的(自闭)" <attr tag=.../>":

<?xml version="1.0" encoding="UTF-8"?>
<dataset>
...
<attr tag="00081110" vr="SQ" pos="-1" name="Referenced Study Sequence" len="-1"/>
...
</dataset>
Run Code Online (Sandbox Code Playgroud)

在转换之后它应该看起来像这样,添加/插入2个子元素(由<item>元素包围):

<?xml version="1.0" encoding="UTF-8"?>
<dataset>
...
<attr tag="00081110" vr="SQ" pos="-1" name="Referenced Study Sequence" len="-1">
  <item id="1" pos="28" len="-1">
    <attr tag="00081150" vr="UI" pos="36" name="Referenced SOP Class UID" vm="0" len="3">991</attr>
    <attr tag="00081155" vr="UI" pos="44" name="Referenced SOP Instance UID" vm="0" len="3">992</attr>
  </item>
</attr>

...
</dataset>
Run Code Online (Sandbox Code Playgroud)

我怎么能实现这个目标?我尝试了各种随机设置,但在我最好的镜头中,我最后用一个子元素替换父元素(tag ="00081110").

xml xslt

5
推荐指数
1
解决办法
7766
查看次数

bash:ps grep for Umlaut(OS X)的进程

在shell脚本中,我需要找出特定应用程序是否仍在运行.这将是一个简单的任务做,如果我们的应用程序的名称将不包含任何变音(äöüàéè...).我怎么能可靠地"grep"我的问题?

shell脚本在此示例中获取应用程序名称作为参数" amétiqsiMedBüro.app ".有几个自定义副本同时运行,它们的名称不同,脚本应仅检查特定应用程序(通过param获取的应用程序)并忽略其他应用程序.

使用grep作为特定的app-name(param)时根本没有命中:

bash> ps ax | grep "amétiq siMed Büro.app"

bash>
Run Code Online (Sandbox Code Playgroud)

点击次数过多:

bash> ps ax | grep "/[A]pplications/am" 
 4335   ??  S      5:19.01 /Applications/ame?M^Atiq siMed Bu?M^Hro.app/Contents/MacOS/siMed2
10188   ??  S      0:03.18 /Applications/ame?M^Atiq siMed SUPPORT.app/Contents/MacOS/siMed2
Run Code Online (Sandbox Code Playgroud)

尝试手动缩小grep时再次没有命中:

bash> ps ax | grep "/[A]pplications/am" | grep "Büro"

bash>
Run Code Online (Sandbox Code Playgroud)

似乎grep在第一次出现变音字符的位置后停止工作.

我也尝试过lsof- 没有成功.任何想法接下来要尝试什么?

运行OS X 10.7-10.9

macos bash shell grep

2
推荐指数
1
解决办法
2083
查看次数

标签 统计

bash ×2

curl ×1

grep ×1

macos ×1

openssl ×1

pkcs12 ×1

shell ×1

xml ×1

xslt ×1