আপনি যখন মৃত্যুদন্ড কার্যকর করেন set -a var=99
, তিনটি স্বতন্ত্র জিনিস ঘটে (আপনার প্রশ্নের সাথে সম্পর্কিত):
- ভার রফতানি করার জন্য একটি সেট বিকল্প (
-a
) (করে বিপরীত set +a
)।
- অবস্থানগত পরামিতিগুলি বিকল্পগুলি অনুসরণ করে যা সেট করে "সেট"
$1
হয় var=99
)
- শেল ভেরিয়েবল আন্ডারস্কোরটি
$_
সর্বশেষ প্যারামিটারে সেট করা হয়েছে (প্রসারিত)।
সেট -এ
সঞ্চালনের set -a
চিহ্ন সব পরবর্তী (নতুন বা পরিবর্তন করা হয়েছে) ভেরিয়েবলের রপ্তানি হিসাবে (সমস্ত শাঁস মধ্যে ছাড়া csh
এবং কিছু সংশ্লিষ্ট শাঁস)।
$ set -a
$ myvariable=wer
$ env | grep myvariable
myvariable=wer
এই সেটিং থেকে পুনরুদ্ধার করার জন্য, শুধু পরিবর্তন -
একটি থেকে +
:
$ set +a
$ unset myvariable # to erase it from the environment if it
# was exported before the change of set +a
$ myvariable=456544654 # A new value of the variable.
$ env | grep "variable" # No output means the var does not exist
# in the current environment
সেট var = 99
কোনটি set -- var=99
হ'ল ড্যাশ ( -
) দিয়ে শুরু হওয়া মানগুলির সাথে কোনও বিকল্পের (এবং সেটটির প্রচুর পরিমাণ রয়েছে) ব্যাখ্যা এড়ানো উচিত ।
এর পরে আর্গুমেন্টের তালিকা (অবস্থানগত প্যারামিটারগুলির তালিকা) সেট করে --
। এটি সমস্ত যুক্তিসঙ্গত শেলগুলিতে বৈধ (সিএসএস এট এ নয়)। অবস্থানগত আর্গুমেন্টগুলি "$ @" (বা অনুরূপ "$ *" সমান নয়) দিয়ে মুদ্রিত হয়।
$ set -- a=1 b=2 c=3
$ echo "$@"
a=1 b=2 c=3
: _ = Last_argument
এবং, অভ্যন্তরীণ শেল ভেরিয়েবলের মান _
কার্যকর করা লাইনের শেষ যুক্তিতে পরিবর্তিত হয়। যে না প্রায় সব শাঁস মধ্যে (jsh, ছাই, যশ, ড্যাশ, lksh, mksh, ksh93, attsh এবং অবশ্যই csh শেল এবং tcsh শেল এর) ব্যাশ ব্যতীত সত্য।
$ echo one two last argument
one two last argument
$ echo "$_"
argument
$ echo This is a new: last_argument
This is a new: last_argument
$ echo "$_"
last_argument
দয়া করে নোট করুন যে মানটি $_
হ'ল প্রসারণের পরে:
$ a="A New_Argument"
$ echo Something else to test: "$a"
Something else to test: A New_Argument
$ echo "$_"
A New_Argument
এজন্য আপনি যখন মৃত্যুদন্ড কার্যকর করবেন:
$ set -a myvar=99; set | grep 'myvar'
_=myvar=99
আপনি শেল ভেরিয়েবল '$ _' এর বর্ণনা পাবেন। এটিও কাজ করে:
$ set -a myvar=99; declare -p _
declare -- _="myvar=99"