কোনও ব্যবহারকারীর মাধ্যমে কীভাবে আমি একজন ব্যবহারকারী থেকে অন্য ব্যবহারকারীর কাছে কোনও ফাংশন পাস করতে পারি?
উদাহরণস্বরূপ, আমার কাছে একটি ছোট বাশ স্ক্রিপ্ট রয়েছে যা আমি রুট হিসাবে সম্পাদন করি:
#!/bin/bash
user_func(){
whoami
exit
}
su vagrant -c 'user_func'
যাইহোক, user_func ফাংশন ভ্যাগ্র্যান্ট ব্যবহারকারীর জন্য সংজ্ঞায়িত করা হয়নি, কেবল রুটের জন্য, এবং কার্যকর করা যায় না।
আমার অন্য বিকল্পটি একাধিক লাইন থাকবে
su vagrant -c 'cmd1'
su vagrant -c 'cmd2'
, etc
অথবা, একাধিক কমান্ড নির্বাহ করুন:, su vagrant -c 'cmd1; cmd2; cmd3;'তবে আমি অতিরিক্ত না থাকা পছন্দ করব, বিশেষত ভ্যাগ্র্যান্ট ব্যবহারকারী হিসাবে 5 টিরও বেশি কমান্ড কার্যকর করার চেষ্টা করার সময়।
একই স্ক্রিপ্টের মধ্যে থেকে অন্য ব্যবহারকারীর কাছে কোনও ফাংশন পাস করা সম্ভব (উদাহরণস্বরূপ, পৃথক ব্যবহারকারী হিসাবে ডিস্কে কোনও স্ক্রিপ্ট তৈরি না করা এবং সেই উত্পন্ন স্ক্রিপ্টটি কার্যকর করা)? বা অন্য কোন বিকল্প আছে যা আমি উপেক্ষা করছি?