সাধারণত, কমান্ডের মতো প্রাক-উপস্থাপন করে পরিবেশের পরিবর্তনশীল সেট করা সম্ভব:
hello=hi bash -c 'echo $hello'
আমি আরও জানি যে আমরা একটি ভেরিয়েবল ব্যবহার করে নিম্নলিখিত কমান্ডের অনুরোধের যে কোনও অংশকে বিকল্প হিসাবে ব্যবহার করতে পারি:
$ cmd=bash
$ $cmd -c "echo hi" # equivalent to bash -c "echo hi"
আমি খুব অবাক হয়ে জানতে পেরেছিলাম যে আপনি একটি পরিবেশের ভেরিয়েবল সেট করতে একটি কমান্ডের উপসর্গ করতে একটি পরিবর্তনশীল ব্যবহার করতে পারবেন না। পরীক্ষা ক্ষেত্রে:
$ prefix=hello=hi
$ echo $prefix # prints hello=hi
$ $prefix bash -c 'echo $hello'
hello=hi: command not found
আমি কেন একটি ভেরিয়েবল ব্যবহার করে পরিবেশের পরিবর্তনশীল সেট করতে পারি না? উপসর্গটি একটি বিশেষ অংশ? আমি সামনে ইওল ব্যবহার করে এটি কাজ করতে সক্ষম হয়েছি, তবে কেন এখনও তা বুঝতে পারছি না। আমি ব্যাশ ব্যবহার করছি 4.4।
env
পরিবর্তে ব্যবহার করতে পারেনeval
, যা আইআইআরসি আরও সুরক্ষিত তবে ধীর।