এক্সগার্সের সাহায্যে সংজ্ঞায়িত ফাংশন কীভাবে ব্যবহার করবেন


16

এটি আমার কোড

#!/bin/bash

showword() {
  echo $1
}

echo This is a sample message | xargs -d' ' -t -n1 -P2 showword

সুতরাং আমার একটি ফাংশন রয়েছে showwordযা আপনি ফাংশনটির প্যারামিটার হিসাবে যে কোনও স্ট্রিং পাস করবেন তা প্রতিধ্বনিত করে।

তারপরে আমি xargsফাংশনটিতে কল করার চেষ্টা করেছি এবং একবারে একটি শব্দ ফাংশনে পৌঁছে দিতে এবং ফাংশনটির 2 টি অনুলিপি সমান্তরালে চালাতে চাইছি। যে জিনিসটি কাজ করছে xargsনা তা হ'ল ফাংশনটি সনাক্ত করতে পারে না। আমি যা করার চেষ্টা করছি তা আমি কীভাবে অর্জন করতে পারি, আমি কীভাবে xargs ফাংশনটির সাথে কাজ করতে পারি showword?


এছাড়াও আলোচনা করা হয়েছে স্ট্যাকওভারফ্লো
জোশুয়া গোল্ডবার্গ

উত্তর:


25

রফতানি ফাংশন চেষ্টা করুন, তারপরে এটিকে একটি সাব-শেইলে কল করুন:

showword() {
  echo $1
}

export -f showword
echo This is a sample message | xargs -d' ' -t -n1 -P2 bash -c 'showword "$@"' _

ধন্যবাদ, তবে উপরে আমার উত্তর সম্পর্কে আপনি কী ভাবেন?
জিএমস্টার

@ ফাজলএ: আমি সে সম্পর্কে মন্তব্য করতে চাই, তবে আপনি এখানে জিজ্ঞাসা করার কারণে, আমি এখানে উত্তর দেব। এটি কোনও কাজ করবে না, যেহেতু আপনি কোনও প্যারামিটারটি পাস করেননি showword
cuonglm

2
আরও একটি প্রশ্ন, কেন পিছনের _ প্রয়োজনীয়? Xargs অন্য কিছুর প্রক্রিয়াজাতকরণ থেকে বিরত হয়?
জিএমস্টার


আমি যখন রফতানি করি তখন আমি "রফতানি: অবৈধ বিকল্প -f" পাচ্ছি
সাগর চামলিং
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.