আমি দূরবর্তী ssh কমান্ডের যুক্তিগুলি ডাবল-পলায়ন করার প্রয়োজন সম্পর্কে প্রশ্নোত্তর দেখেছি। আমার প্রশ্ন: ঠিক কোথায় এবং কখন দ্বিতীয় পার্সিং শেষ হয়?
আমি যদি নিম্নলিখিতটি চালিত করি:
$ ssh otherhost pstree -a -p
আমি আউটপুটে নিম্নলিখিতটি দেখতে পাচ্ছি:
|-sshd,3736
| `-sshd,1102
| `-sshd,1109
| `-pstree,1112 -a -p
রিমোট কমান্ড ( pstree
) এর পিতামাতার প্রক্রিয়াটি হ'ল sshd
, এমন কোনও শেল উপস্থিত নেই যা দূরবর্তী কমান্ডে কমান্ড লাইন আর্গুমেন্টগুলি পার্স করে চলেছে, সুতরাং মনে হয় না যে ডাবল উদ্ধৃতি বা পলায়ন প্রয়োজনীয় হবে ( তবে এটি অবশ্যই)। পরিবর্তে আমি যদি সেখানে প্রথমে ছুটে যাই এবং লগইন শেলটি pstree -a -p
পাই এবং তারপরে চালানো হয় তবে আউটপুটটিতে নিম্নলিখিতটি দেখি:
├─sshd,3736
│ └─sshd,3733
│ └─sshd,3735
│ └─bash,3737
│ └─pstree,4130 -a -p
সুতরাং স্পষ্টভাবে সেখানে একটি bash
শেল আছে যে ক্ষেত্রে কমান্ড লাইন পার্সিং করতে হবে। তবে আমি যেখানে প্রত্যক্ষ কমান্ডটি সরাসরি ব্যবহার করি সেখানে শেল বলে মনে হয় না, তবে ডাবল উদ্ধৃতি কেন প্রয়োজনীয়?