Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.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_Process_Substitution - Fatal编程技术网

变量中进程替换的Bash问题

变量中进程替换的Bash问题,bash,process,substitution,Bash,Process,Substitution,我试图在bash脚本中获得一个dd命令,并将“if”设置为变量。 变量可以是/dev/zero,也可以是尽可能复杂的变量 Bash不会解析变量的内容并将其直接传递给dd,dd不知道如何处理它。 您可以使用“eval”强制Bash解析变量: write_file=“好的..我想我需要在dd前面加一个“eval” 因此: write_file=“trydd”if=$write_file”…只需在线执行即可。看,好的。。所以我只是在刷新浏览器并看到这个之前发布了我自己的答案。哦。哦,这可能与将eval

我试图在bash脚本中获得一个dd命令,并将“if”设置为变量。 变量可以是/dev/zero,也可以是尽可能复杂的变量
Bash不会解析变量的内容并将其直接传递给dd,dd不知道如何处理它。 您可以使用“eval”强制Bash解析变量:

write_file=“好的..我想我需要在dd前面加一个“eval”

因此:


write_file=“try
dd”if=$write_file”…
只需在线执行即可。看,好的。。所以我只是在刷新浏览器并看到这个之前发布了我自己的答案。哦。哦,这可能与将
eval
放在dd命令前面的工作方式相同。谢谢你的帮助!
write_file=/dev/zero
dd if=$write_file bs=2048 seek=1 of=/dev/sda count=524288
write_file="<(yes $'\01' | tr -d "\n")"
dd if=$write_file bs=2048 seek=1 of=/dev/sda count=524288
dd: invalid option -- 'd'
Try `dd --help' for more information.
dd if=<(yes $'\01' | tr -d "\n") bs=2048 seek=1 of=/dev/sda count=524288
write_file="<(yes $'\01' | tr -d \"\n\")"
dd if="$write_file" bs=2048 seek=1 of=/dev/sda count=524288
dd: opening `<(yes $\'\\01\' | tr -d "\\n")': No such file or directory
 write_file="<(yes $'\01' | tr -d \"\n\")"
 command="dd if=$write_file bs=2048 seek=1 of=/dev/sda count=524288"
 eval "${command}"
write_file="<(yes $'\x5a' | tr -d \"\n\")"
eval dd if=$write_file bs=2048 seek=1 of=/dev/sda count=5242