我的shell文件中包含以下内容:
#!/usr/bin/env bash
api_params_with_timestamp="somethingXXXX"
SECRET_KEY="XXXXXXXXXXXXXX"
signature=$(echo -n "$api_params_with_timestamp" \
| openssl dgst -sha256 -hmac "$SECRET_KEY")
echo "signature"=$signature
执行我得到的shell
signature=(stdin)= 3eee8d204c83381dddffgggg
我只需要"3eee8d204c83381dddffgggg"部分,我该怎么做才能跳过(stdin)=部分?!
编辑:
signature=$(echo -n "$api_params_with_timestamp" \
| openssl dgst -sha256 -hmac "$SECRET_KEY" | cut -c10-1000)
不完美,但工作!
1条答案
按热度按时间sqserrrh1#
openssl-dgst页面没有提供删除输出中
"(stdin)= "
部分的直接选项,但是可以通过cut
、grep
或sed
轻松完成。cut
**grep
**sed
**"\"
,而使用竖线来实现此目的,例如哪种方式都行--随你。