bash 进程用临时文件替换

bash 进程用临时文件替换

例如,某些程序需要其文件是可查找的objdump

$ objdump -D -b binary -m i8086 <(echo 0xea 0x5b 0xe0 0x00 0xf0|xxd -r -p)
objdump: Warning: '/proc/self/fd/11' is not an ordinary file

使用临时文件进行进程替换会很方便。

我可以在手册页中看到 bash 可以通过进程替换回退到临时文件,但是我可以明确要求他使用临时文件吗?

喜欢zsh=()

$ objdump -D -b binary -m i8086 =(echo 0xea 0x5b 0xe0 0x00 0xf0|xxd -r -p)

/tmp/zsh1u1Nrw:     file format binary


Disassembly of section .data:

00000000 <.data>:
   0:   ea 5b e0 00 f0          ljmp   $0xf000,$0xe05b

答案1

基于meuh的评论;显然 bash 这里的字符串可以被滥用为临时文件,试试这个:

( echo 0xea 0x5b 0xe0 0x00 0xf0 | 
  xxd -r -p >/dev/fd/9; objdump -D -b binary -m i8086 /dev/fd/9) 9<<<''

相关内容