我有一个脚本需要一个文件作为参数:
./myscript --file filename.txt
密码生成密码列表作为输出。
我如何通过管道传输密码,作为文件,复制到 myscript ??
到目前为止我尝试过这个:
./myscript --file | xargs xkcdpass
...但它不起作用。
答案1
我假设xkcdpass
生成一个密码列表,但您不想将其存储在文件中。
您可以尝试创建一个 FIFO。
mkfifo ~/MyOutput
xkcdpass > ~/MyOutput & # & to execute it in the background
然后
./myscript --file ~/MyOutput
从info coreutils 'mkfifo invocation'
:
“FIFO” 是一种允许独立进程进行通信的特殊文件类型。一个进程打开 FIFO 文件进行写入,另一个进程进行读取,之后数据可以像 shell 或其他地方的普通匿名管道一样流动。
你也应该尝试
xkcdpass | xargs -n 1 ./myscript --file
您可以阅读更多内容:
答案2
“我怎样才能将 xkcdpass 的输出作为文件通过管道传输到 myscript ??”
使用流程替代:
./myscript --file <(xkcdpass)