ডিক্লেয়ার এবং টাইপসেটের মধ্যে পার্থক্য কী


22

যে কেউ বাস্তব জীবনের উদাহরণ সহ ডিক্লেয়ার এবং টাইপসেটের মধ্যে পার্থক্য ব্যাখ্যা করতে পারে।

উত্তর:


27

মধ্যে bash, typesetএবং declareঠিক একই। পার্থক্যটি কেবল typesetঅচল বিবেচিত হয়।

typeset: typeset [-aAfFgilrtux] [-p] name[=value] ...
    Set variable values and attributes.

    Obsolete.  See `help declare'.

ম্যান পেজ এমনকি তাদের একই শ্বাসে তালিকাবদ্ধ করে:

declare [-aAfFgilrtux] [-p] [name[=value] ...]
typeset [-aAfFgilrtux] [-p] [name[=value] ...]
    Declare variables and/or give them attributes.

typesetকিছু অন্যান্য শেলের কাছে বহনযোগ্য, উদাহরণস্বরূপ ksh93,। যদি আপনি ক্রস শেল বহনযোগ্যতার জন্য লক্ষ্য রাখছেন তবে ব্যবহার করুন typeset(এবং নিশ্চিত করুন যে আপনি যেভাবে কল করছেন এটি পোর্টেবল)। আপনি যদি এই ধরনের বহনযোগ্যতা সম্পর্কে চিন্তা না করেন তবে ব্যবহার করুন declare


বাশ স্ক্রিপ্টে এই ব্যবহারটি কোথায় এবং কেন এর কিছু উদাহরণ দিতে পারেন দয়া করে
রাহুল পাতিল

1
... আমি যেমন বলেছিলাম, এগুলি ঠিক একই রকম। তারা যদি হয় তবে আমি কীভাবে তাদের পার্থক্য করতে পারি বুঝতে পারছি না।
ক্রিস ডাউন

2
ভাল একটা. মনে রাখবেন যে "অপ্রচলিত" সবেমাত্র উপস্থিত রয়েছে help typeset, ভিতরে নেই man typeset
ফেডরকিই

2
@ ক্রিসডাউন, আপনি ঠিক কেন typesetঅপ্রচলিত বলে বিবেচিত হবেন না ?
আলেকজ মাগুরা 5:40

3

আমি এমন একটি মামলা জানি যেখানে declareদুষ্টতা এড়াতে দরকারী eval: পরিবর্তনশীল ইন্ডায়ারেশন :

$ var=foo
$ x=var
$ declare "$x=another_value"
$ echo $var
another_value

এটি একটি দুর্দান্ত মন্তব্য তবে এটি কীভাবে যে প্রশ্নের উত্তর দেয় typesetএবং declareকীভাবে?
jw013

এটি ইতিমধ্যে ক্রিস ডাউন দ্বারা উত্তরে জবাব দেওয়া হয়েছে, আমার প্রতিক্রিয়াটি কেবলমাত্র এটির ক্ষেত্রেই কার্যকর
গিলস কুইনট

সম্ভবত আমি পরিষ্কার ছিল না। মন্তব্যগুলি মন্তব্য হওয়া উচিত, এবং উত্তরগুলির উত্তর হওয়া উচিত। এটি একটি মন্তব্য নয়, কোনও উত্তর নয়।
jw013

3
আমার স্নিপেট কোনও মন্তব্যে পরিষ্কার করবে না
গিলস কুইনট

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