\curl -L https://get.rvm.io | bash -s stable
কমান্ডটি কেন শুরু হচ্ছে \
?
এটি এটিই আমি এটি দেখেছি।
\curl -L https://get.rvm.io | bash -s stable
কমান্ডটি কেন শুরু হচ্ছে \
?
এটি এটিই আমি এটি দেখেছি।
উত্তর:
alias curl='curl --some --default --options'
যদি আপনার কোনও উপাধি থাকে curl
এবং আপনি এটি ব্যবহার করতে না চান তবে সামনে একটি ব্যাকস্ল্যাশ রাখলে উপনামটি অক্ষম হয়ে যায় এবং কার্ল বাইনারি সরাসরি চালিত হয়।
নোট করুন যে এটি কেবল ইন্টারেক্টিভ শেলটিতে প্রযোজ্য। এলিয়াসগুলি স্ক্রিপ্টগুলিতে কার্যকর হয় না তাই এটি সেখানে অপ্রয়োজনীয় হবে।
\curl
কোনও নামের শেল ফাংশন বাইপাস করে না curl
। তার জন্য, আপনি ব্যাश অন্তর্নির্মিত কমান্ডটি ব্যবহার করতে পারেন command
:command curl ...
\curl ...
command curl ...
dash
(এবং সম্ভবত অন্যান্য শাঁস, যদিও আপনি bash
ছাড়া সঠিক হয়ে আছেন expand_aliases
) স্ক্রিপ্টগুলিতে এলিয়াসগুলি প্রসারিত করে ।
(বোর্ন / পসিক্স) শেল স্পেসিফিকেশন বলছে যে কমান্ড শব্দের কোনও অক্ষর উদ্ধৃত করা হলে একটি ইন্টারেক্টিভ শেলের মধ্যে আলিফ বিকল্পটি দমন করা হয়। ব্যাকস্ল্যাশ হ'ল এটি করার একটি উপায়, তবে উদ্ধৃত করার জন্য আরও সুপরিচিত উপায় রয়েছে: একক এবং দ্বিগুণ উদ্ধৃতি। নিম্নলিখিত সমস্তগুলি উপন্যাসের বিকল্পটি দমন করবে:
\curl
cur\l
\c\u\r\l
"c"url
"curl"
"c""u""r""l"
'curl'
'cu'"rl"
ব্যবহার \curl
করা সর্বাধিক সাধারণ এবং পঠনযোগ্য উপায়। যেহেতু এটি একটি প্রমিত বৈশিষ্ট্য, আপনি এটি বোর্ন-heritageতিহ্য শেলগুলিতে কাজ করার আশা করতে পারেন।
\curl
কিছুটা টেক্সের কমান্ডের মতো দেখাচ্ছে, তাই না? :-)
\curl
একই নামের একটি বহিরাগত অবস্থানকে বাইপাস করার নির্দিষ্ট কারণ দেওয়ার জন্য +1 ; মনে রাখবেন যে কেবলমাত্র এলিয়াসগুলি এইভাবে বাইপাস করা হয়, শেল ফাংশন নয় ; হয়command curl ...
বাইপাস নিশ্চিত ।
command() { echo "Not command, lol!"; } ; command -V echo ; \command -V echo ; \command command echo "This is command! (masking despair)"
প্রিন্ট Not command, lol!
3
command
নিজেকে শেল ফাংশন দিয়ে প্রতিস্থাপন করেন তবে আপনি প্রক্রিয়াটিকে পরাস্ত করছেন। তোমার উদাহরণ দেখায় যে, হয় \
বাইপাস না ফাংশন হিসাবে বিবৃত। একটি অ স্ব-পরাজিত উদাহরণ: date() { echo 'not date'; }; date; command date
। আপনি দূষিত সম্পর্কে উদ্বিগ্ন হন তাহলে গরমিল সঙ্গে command
দেখতে stackoverflow.com/a/35931876/45375
command
ওভাররাইড না করা। আপনার নিজস্ব লিঙ্ক থেকে:Thus, with no control over the execution environment, you cannot write shell scripts that are fully immune to tampering, unless you know that your code will be executed by dash, ksh, or bash (with the workaround in place)
shopt -s expand_aliases
উপনামের ব্যবহারের আগে স্ক্রিপ্টগুলিতে এলিয়াস ব্যবহার করা যেতে পারে