当我使用以下命令solcjs --bin test.sol时,将创建一个名为byonotary_sol_BYONotary.bin的文件。
如何立即将此文件名存储在变量中?我希望运行solcjs --bin test.sol并将其新创建的文件名保存到同一行代码中的一个变量中。
谢谢。
发布于 2019-08-07 15:00:14
由于文件名似乎是根据文件中的契约生成,我建议为输出创建一个临时目录,以便更容易地确定您要查找的是哪个“新”文件:
d=$(mktemp -d -p .)
solcjs --bin --output-dir "$d" test.sol && set -- "$d"/*.bin && newfile=$1这告诉mktemp创建一个相对于当前(.)目录的目录。然后,它像以前一样运行solcjs,但使用--output-dir选项。在同一行中(或者更容易理解的是,在单独的行中),它要求shell在新目录中展开*.bin通配符。据推测,其中唯一匹配的文件是新创建的文件。当然,如果停止使用*.bin选项,请调整--bin。
您可以通过各种方式调整临时目录名,例如使用当前时间戳(例如date +%s)或使用mktemp[医]模板特性。
https://unix.stackexchange.com/questions/534375
复制相似问题