কেন এক লাইনে ভেরিয়েবল প্রতিধ্বনিত করতে বাশকে && এর প্রয়োজন হয়?


12

কেন SOMETHING=1 && echo $SOMETHINGপ্রয়োজন &&ফিরতে 1
কেন না SOMETHING=1 echo $SOMETHINGপ্রত্যাবর্তন1


7
বিশেষত গঠনমূলক প্রতিক্রিয়া না রেখে যে কেউ আপনার প্রশ্নকে হ্রাস করেছে তার জন্য লজ্জাজনক। এটি একটি বৈধ প্রশ্ন এবং বাশ শব্দ / পরামিতি / ভেরিয়েবল / টিল্ড সম্প্রসারণ এবং আদেশ আদেশ কার্যকর করার ক্রমটি জটিল। আমি আপনাকে একটি +1 দিচ্ছি।
স্পিফ


প্রযুক্তিগতভাবে, "প্রতিধ্বনি 1" 0 প্রদান করে এবং আউটপুটটি 1 ... মানে "ইকো" স্থিতি "0" সহ প্রস্থান করে এবং আর্গুমেন্টগুলিকে অবিচ্ছিন্ন করতে প্রদর্শন করে। আমার কাছে "1 ফেরত" বাক্যটি "আউটপুটস" নয়, "বহির্গমন স্টাউস" বোঝাচ্ছে এবং প্রথম নজরে কিছুটা বিভ্রান্ত হয়েছিল।
মাইকেল

উত্তর:


8

কারণ ব্যাশ ভেরিয়েবল অ্যাসাইনমেন্ট স্টেটমেন্টগুলি ব্যাখ্যা করার আগে ভেরিয়েবল সম্প্রসারণ করে। সুতরাং, যেহেতু কিছু আগে সংজ্ঞায়িত করা হয়নি, আপনার আদেশটি হয়ে যায়…

SOMETHING=1 echo ''

… তাহলে মৃত্যুদন্ড কার্যকর করা হয়।


পরিবর্তনশীল সম্প্রসারণ পরিবর্তনশীল বিকল্প হিসাবে একই?
জোয়েল

1
@ জোয়েল: সঠিক
গর্ডন ডেভিসন

0

একই সময়ে রফতানি এবং প্রতিধ্বনি

root@kali:~# echo ${SOMETHING=1}
1
root@kali:~# echo $SOMETHING
1
root@kali:~# unset SOMETHING
root@kali:~# echo $SOMETHING

root@kali:~# echo ${SOMETHING=1}
1
root@kali:~# 

আর একটি বোকা উদাহরণ xD

root@kali:~# echo ${SOMETHING=1} ${PLUS=+} ${SUMTHIN=2} ${EQUALS==} && expr $SOMETHING $PLUS $SUMTHIN
1 + 2 =
3
root@kali:~# 
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.