অস্থায়ী ফাইলের সাথে বাশ প্রক্রিয়া প্রতিস্থাপন


8

কিছু প্রোগ্রামের ফাইলগুলি অনুসন্ধানযোগ্য হওয়ার জন্য প্রয়োজন, উদাহরণস্বরূপ 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

প্রক্রিয়া প্রতিস্থাপন অস্থায়ী ফাইল ব্যবহার করা সুবিধাজনক হবে।

আমি ম্যান পেজে দেখতে পাচ্ছি যে ব্যাশ প্রক্রিয়া প্রতিস্থাপনের মাধ্যমে অস্থায়ী ফাইলগুলিতে ফ্যালব্যাক করতে পারে, তবে আমি কি স্পষ্টভাবে তাকে অস্থায়ী ফাইলগুলি ব্যবহার করতে বলতে পারি?

ভালো লেগেছে 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

আমি এটি সন্দেহ, কিন্তু আপনি সর্বদা ব্যবহার করতে পারেন mktemp
ওয়াইল্ডকার্ড

1
হতে পারে আপনার সেটটি bashদিয়ে সংকলনের চেষ্টা করা উচিত । HAVE_DEV_FD0
cuonglm

6
আপনি পরিবর্তে এখানেobjdump -D -b binary -m i8086 /dev/stdin <<<$(echo 0xea 0x5b 0xe0 0x00 0xf0|xxd -r -p)
সন্ধানযোগ্য

2
উফ। এখানে স্ট্রিং সংস্করণ চুপটি নাল গৃহস্থালির কাজ ড্রপ!
meuh

1
@ উইল্ডকার্ড ফিফো ব্যবহার করে সম্ভব নয় objdump, এটাই প্রশ্নের পুরো বিষয়টি point অন্যথায় <()যথেষ্ট ভাল ছিল।
এলাজার লাইবোভিচ

উত্তর:


2

মেহুর মন্তব্যের ভিত্তিতে; আপাতদৃষ্টিতে এখানে ব্যাশ স্ট্রিংগুলি অস্থায়ী ফাইল হিসাবে আপত্তিজনক হতে পারে, এটি চেষ্টা করুন:

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

কৌতুক করে এখানে কাগজপত্র এবং এখানে স্ট্রিং অস্থায়ী ফাইল ব্যবহার ফণা অধীন (প্রতিস্থাপন objdump ...সঙ্গে stat /dev/fd/9, এটি একটি সমস্যাযুক্ত হিসাবে FIFO বা নল কিন্তু একটি ফাইল করার জন্য একটি সিমবলিক লিঙ্ক হবে না দেখতে /tmpবা $TMPDIR)।
mr.spuratic

আমি আমার objdumpপরিস্থিতির জন্য আপনার উত্তরের পদ্ধতিটি ব্যবহার করেছি । মজার বিষয় হল, এটি কেবল আমার সাথে কাজ করেছিল gcc -o /dev/fd/9 [ . . . ], সাথে নয় gcc >&9 -o - [ . . . ]। আমি একটি উত্তর লিখতে যাচ্ছি (অবজেক্ট পরিস্থিতি নয়, তবে একটি নন-নাল-সংবেদনশীল পরিস্থিতির জন্য) যা কমান্ড সাবস্টিটিউশন সহ এখানে একটি নথি ব্যবহার করেছে, তবে আমি দেখেছি যে আপনি ইতিমধ্যে প্রশ্ন মন্তব্যে এখানে একটি স্ট্রিং উল্লেখ করেছেন? , যা আরও ভাল।
ক্লেক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.