将参数安全传输到程序(dash/bash)

将参数安全传输到程序(dash/bash)
  1. 通过标准输入传输
#!/bin/dash
echo 'password' | program -
  1. 使用中间变量通过 stdin 传输
var_pass=$(echo 'password')
echo $var_pass | program -
unset var_pass
  1. 使用中间流通过 stdin 传输
echo 'password' | (echo $(cat /dev/fd/4) | program -) 4<&0

就可能的数据拦截(妥协)而言,这些选项是否有很大不同?例如,额外变量或线程的使用会增加多少数据被盗的风险(从 RAM 等)。也许还有其他更好的选择?

相关内容