আমি বিশ্বাস করি এটি আপনার যা ইচ্ছা তা করে। এটি সমস্ত আর্গুমেন্টকে একটি স্ট্রিংয়ে রাখবে, স্পেস দ্বারা আলাদা করে চারদিকে একক উদ্ধৃতি দিয়ে:
str="'$*'"
$*
প্রথম অক্ষর দ্বারা পৃথক সমস্ত স্ক্রিপ্ট আর্গুমেন্ট তৈরি করে $IFS
যার ডিফল্টরূপে একটি স্থান।
একটি ডাবল উদ্ধৃত স্ট্রিংয়ের ভিতরে, একক-উদ্ধৃতিগুলি এড়িয়ে যাওয়ার দরকার নেই।
উদাহরণ
উপরেরটি একটি স্ক্রিপ্ট ফাইলে রাখি:
$ cat script.sh
#!/bin/sh
str="'$*'"
echo "$str"
এখন, নমুনা যুক্তি দিয়ে স্ক্রিপ্টটি চালান:
$ sh script.sh one two three four 5
'one two three four 5'
এই স্ক্রিপ্টটি পসিক্স। এটি দিয়ে কাজ করবে bash
তবে এটির প্রয়োজন নেই bash
।
একটি প্রকরণ: ফাঁকা স্থানের পরিবর্তে স্ল্যাশ দিয়ে মনোনিবেশ করা
আমরা অ্যাডজাস্ট করে স্পেস থেকে অন্য চরিত্রে পরিবর্তন করতে পারি IFS
:
$ cat script.sh
#!/bin/sh
old="$IFS"
IFS='/'
str="'$*'"
echo "$str"
IFS=$old
উদাহরণ স্বরূপ:
$ sh script.sh one two three four
'one/two/three/four'