Shell openssl中的命令替换

Shell openssl中的命令替换,shell,openssl,solaris,ksh,solaris-10,Shell,Openssl,Solaris,Ksh,Solaris 10,正在尝试在ksh中运行此操作: echo -n "string to encode" | openssl enc -aes-128-cbc -a -salt -pass file:<(print -n 'somepassword') 我可能做错了什么,我已经搜索了,但没有答案。进程替换在bash和ksh中的工作方式不同。Bash将结果附加到当前单词,ksh将创建一个新词: $ cat testcase showargs() { printf 'Arg: %q\n' "$@"; } sho

正在尝试在ksh中运行此操作:

echo -n "string to encode" |
openssl enc -aes-128-cbc -a -salt -pass file:<(print -n 'somepassword')

我可能做错了什么,我已经搜索了,但没有答案。

进程替换在bash和ksh中的工作方式不同。Bash将结果附加到当前单词,ksh将创建一个新词:

$ cat testcase
showargs() { printf 'Arg: %q\n' "$@"; }
showargs file:<(echo -n foo)

$ bash testcase
Arg: file:/dev/fd/63

$ ksh testcase
Arg: file:
Arg: /dev/fd/3
$cat测试用例
showargs(){printf'参数:%q\n'$@“;}

showargs file:进程替换在bash和ksh中的工作方式不同。Bash将结果附加到当前单词,ksh将创建一个新词:

$ cat testcase
showargs() { printf 'Arg: %q\n' "$@"; }
showargs file:<(echo -n foo)

$ bash testcase
Arg: file:/dev/fd/63

$ ksh testcase
Arg: file:
Arg: /dev/fd/3
$cat测试用例
showargs(){printf'参数:%q\n'$@“;}

showargs file:Just what is
-pass file:pass:password实际密码是password。由于密码对实用程序可见(如Unix下的“ps”),因此此表单只应在安全性不重要的情况下使用。env:var从环境变量var获取密码。因为其他进程的环境在某些平台上是可见的(例如,某些Unix操作系统下的ps)使用此选项时应谨慎。@AndrewHenle内置参数通常对系统的其余部分不可见。确切的含义是
-pass file:pass:password实际密码是password。由于密码对实用程序可见(如Unix下的“ps”),因此此表单只应在安全性不重要的情况下使用。env:var从环境变量var获取密码。由于其他进程的环境在某些平台上可见(例如,某些Unix操作系统下的ps),因此应谨慎使用此选项。@AndrewHenle内置参数通常对系统的其余部分不可见。