/ ইত্যাদি / পরিবেশে হ্যাশ চিহ্ন (#) এড়ানো


17

আমি এতে একটি এনভিভ ভেরিয়েবল যুক্ত করছি /etc/environmentতবে ভেরিয়েবলের মানটিতে # চিহ্ন রয়েছে, স্ট্রিংটি স্ট্রাইপযুক্ত।

MYSQL_PWD="something#no"

এখন যদি আমি কি envউপরের কোড উৎপাদনের MYSQL_PWD=something। আমি কীভাবে হ্যাশ থেকে বাঁচতে পারি? আমি ইতিমধ্যে \চরিত্র চেষ্টা করেছি ।


আপনি কি ঠিক একই জিনিস পোস্ট করছেন তা নিশ্চিত /etc/environment? কারণ আমি ডেবিয়ান হুইজির উপর এই আচরণটির সদৃশ করতে পারিনি।
জোসেফ আর।

দুঃখিত এক্সপোর্ট সেখানে নেই। আমার প্রশ্ন আপডেট।
উমায়ের এ।

আপাতত আমি মাইএসকিউএল পিডব্লিউডি পরিবর্তন করেছি :(
উমাইর এ।

আমি আপনার আচরণটির সদৃশ করতে পেরেছি। আমি বুঝতে পারি নি যে আমার শেলটি পড়ার জন্য আমাকে আবার লগ ইন করতে হবে /etc/environment
জোসেফ আর।

@JosephR। - আমি এটির সদৃশ হয়েছি এবং অবাকও হয়েছি। এই ফাইলটির ভূমিকাটি অনুসন্ধান করে মনে হচ্ছে এটির অভিপ্রায়ের সাথে সামঞ্জস্য রয়েছে।
slm

উত্তর:


18

এটি সম্ভব হবে বলে মনে হয় না /etc/environment। এটি শেল ইন্ডিপেন্ডেড ভেরিয়েবলের সাধারণ অবস্থান হিসাবে বোঝানো হয়। এটি দেওয়া দেখে মনে হচ্ছে না এটি হ্যাশ চিহ্নের সাথে স্ট্রিং সমর্থন করে (# ) এবং এগুলি থেকে পালানোর কোনও উপায় বলে মনে হয় না।

আমি এই এসএফ প্রশ্নোত্তর শিরোনাম পেয়েছি: একজন লিনাক্স ইত্যাদি / পরিবেশে একটি শীর্ষস্থানীয় "#" চরিত্রটিকে কীভাবে সঠিকভাবে পালাতে পারে? । এই পদ্ধতির কোনওটিই কাজ করে নি:

  • নিয়ন্ত্রণ = "হ্যালো"
  • test0 = "# হ্যালো"
  • বর্তমানে test1 ফাইল = "জ \ #ello"
  • test2 | = "জ # Ello"
  • test3 নামক = "জ // # Ello"
  • test4 = "H / # Ello"
  • test5 = জ # Ello
  • test6 = জ \ #ello
  • test7 = জ # Ello
  • test8 = জ // # Ello
  • test9 = H / # Ello
  • test10 = 'জ # Ello'
  • test11 = 'জ \ #ello'
  • test12 = 'জ # Ello'
  • test13 = 'জ // # Ello'
  • test14 = 'H / # Ello'

এই প্রশ্নের গ্রহণযোগ্য উত্তর এবং আমার পরামর্শ কী হবে:

হ্যাঁ এটি আপনি যে কৌশলগুলি করতে চান /etc/environmentতা শেল সিনট্যাক্স নয়, এটি দেখতে একরকম দেখাচ্ছে তবে এটি এমন নয় যা মানুষকে হতাশ করে। পিছনে ধারণাটি দুর্দান্ত /etc/environmentছিল। ভেরিয়েবল সেট আপ করার একটি শেল-স্বাধীন উপায়! হ্যাঁ! কিন্তু ব্যবহারিক সীমাবদ্ধতা এটি অকেজো করে তোলে।

আপনি সেখানে ভেরিয়েবল পাস করতে পারবেন না। উদাহরণস্বরূপ MAIL=$HOME/Maildir/এটিতে চেষ্টা করুন এবং দেখুন কী ঘটে। সর্বোপরি যে কোনও উদ্দেশ্যে এটি ব্যবহারের চেষ্টা বন্ধ করার জন্য হায় হায়! সুতরাং আপনি এটি দিয়ে এমন কাজগুলি করতে পারবেন না যা শেল দ্বারা প্রক্রিয়াজাত করা হলে আপনি এটি করতে সক্ষম হবেন বলে আশা করবেন।

ব্যবহার করুন /etc/profileবা /etc/bashrc

তবুও আরেকটি প্রশ্নোত্তর এই যুক্তিটি কেন যুক্তিযুক্ত তা দিয়েছে:

/etc/environmentতিনি পাম মডিউল "পাম_এনভিভ" দ্বারা পার্স করার কারণে # (এটিকে একটি মন্তব্য হিসাবে বিবেচিত) এড়ানোর কোনও উপায় নেই এবং এটি কেইওয়াই = ভ্যাল জোড়গুলির একটি সহজ তালিকা হিসাবে বিবেচনা করে এবং সেই অনুযায়ী পরিবেশ স্থাপন করে। এটি বাশ / শেল নয়, পার্সারটির পরিবর্তনশীল প্রসার বা অক্ষরগুলি অব্যাহতি দেওয়ার জন্য কোনও ভাষা নেই।

তথ্যসূত্র


এটি কি কোনও বাগ বা এর পিছনে কোনও কারণ আছে?
উমাইর এ।

1
@ উমাইআশরাফ - এই ফাইলটির ভূমিকা প্রদত্ত কোনও বাগ নয়, সীমাবদ্ধ কার্যকারিতা। এই ফাইলটিতে একাধিক শেল প্রযুক্তির জুড়ে ধারন তাই এটি যে সব শাঁস এটা ব্যবহার করা যেতে হবে সমর্থিত বৈশিষ্ট্য সঙ্গে যেতে হবে।
SLM

কত বোকা; এটি ঠিক একই বিন্যাস ব্যবহার করা উচিত ছিল /proc/environ
কাজ

1

সম্ভবত খুব দেরী হয়েছে, তবে তিনটি ব্যাকস্ল্যাশ# আমার পক্ষে কাজ করার আগে ।

যদি পাসওয়ার্ডটি হয় তবে "প্রশাসক # 123" বলুন, আপনি এটি হিসাবে সংজ্ঞা দিতে পারেন

admin\\\#123

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