Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 根据应用程序参数模拟从文件读取_Bash_Shell_Arguments_Command Line Interface_Sh - Fatal编程技术网

Bash 根据应用程序参数模拟从文件读取

Bash 根据应用程序参数模拟从文件读取,bash,shell,arguments,command-line-interface,sh,Bash,Shell,Arguments,Command Line Interface,Sh,我正在使用一个命令行应用程序(geth),它接受参数--password,该参数要求包含密码的文件的有效路径,即: geth --password /some/path/to/password/file 我试图在命令行中指定密码,而不是将其保存在文件中,例如: geth --password `echo P@ssWordHer3` 上述操作不起作用,因为geth正在搜索名为P@ssWordHer3,它不存在: 致命:无法读取密码文件:打开P@ssWordHer3:没有这样的文件 或目录 我正

我正在使用一个命令行应用程序(
geth
),它接受参数
--password
,该参数要求包含密码的文件的有效路径,即:

geth --password /some/path/to/password/file
我试图在命令行中指定密码,而不是将其保存在文件中,例如:

geth --password `echo P@ssWordHer3`
上述操作不起作用,因为
geth
正在搜索名为
P@ssWordHer3
,它不存在:

致命:无法读取密码文件:打开P@ssWordHer3:没有这样的文件 或目录

我正在考虑创建一个shell脚本,该脚本将接受密码作为参数并将其输出,但我猜它也不起作用,因为
geth
将尝试读取文件内容,而不是输出


知道如何解决这个问题吗?

这就是众所周知的ksh和bash功能的用途:


这就是众所周知的ksh和bash功能的用途:


谢谢你的回答,但我得到了一个错误:
sh:-c:0行:意外标记附近的语法错误“(“
。正如答案所说,这是一个ksh和bash特性。
sh
不支持它。(另请参阅第一个代码示例中的注释:“也适用于ksh,但不适用于基线POSIX/bin/sh”)是的,我知道了,我用的是<代码> CENTSO7X64 < /Cord>,有什么想法在<代码> /BI/SH < /C>上模仿这个行为?考虑<代码> PrtTf'%s'P@sswordHer3“而不是
echo-n”P@sswordHer3“
---necho的参数只是非常松散的POSIX标准化(POSIX说,
echo
允许在出现时以未指定的方式进行操作)。顺便说一句,请参阅用/bin/sh模拟进程替换的示例——尽管这不是一个特别好的示例(例如易受符号链接攻击)。感谢您的回答,但我得到了一个错误:
sh:-c:0行:意外标记附近的语法错误。“
。正如答案所说,这是ksh和bash特性。
sh
不支持它。(另请参见第一个代码示例中的注释:“也适用于ksh,但不适用于基线POSIX/bin/sh”)是的,我知道了,我用的是<代码> CENTSO7X64 < /Cord>,有什么想法在<代码> /BI/SH < /C>上模仿这个行为?考虑<代码> PrtTf'%s'P@sswordHer3“而不是
echo-n”P@sswordHer3“
---necho的参数只是非常松散的POSIX标准化(POSIX说,
echo
在出现时允许以未指定的方式进行操作)。顺便说一句,请参阅用/bin/sh模拟进程替换的示例——尽管这不是一个特别好的示例(例如易受符号链接攻击)。
#!/usr/bin/env bash
#              ^^^^- also works on ksh, but not on baseline-POSIX /bin/sh

geth --password <(echo 'P@sswordHer3')
#!/usr/bin/env zsh
geth --password =(echo 'P@sswordHer3')