Ela*_*ich 10 shell bash tmp process-substitution
一些程序需要它们的文件是可查找的,例如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
Run Code Online (Sandbox Code Playgroud)
让进程替换使用临时文件会很方便。
我可以在手册页中看到 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
Run Code Online (Sandbox Code Playgroud)
小智 3
基于meuh的评论;显然 bash 这里的字符串可以被滥用为临时文件,试试这个:
( echo 0xea 0x5b 0xe0 0x00 0xf0 |
xxd -r -p >/dev/fd/9; objdump -D -b binary -m i8086 /dev/fd/9) 9<<<''
Run Code Online (Sandbox Code Playgroud)