আমি আমার স্ক্রিপ্টের বুলেট-প্রুফ তৈরি করতে এখনও উপস্থিত না থাকলে কেবল একটি লাইন যুক্ত করে কোনও ফাইলকে ঠিক জায়গায় সম্পাদনা করতে চাই।
সাধারণত আমি এমন কিছু করতাম:
cat >> ~/.bashrc <<EOF
export PATH=~/.composer/vendor/bin:\$PATH
EOF
জবাবদিহি ( line
+ insertafter=EOF
+ regexp
) এর মাধ্যমে এটি করাও সম্ভব তবে এটি অন্য গল্প।
Vi / প্রাক্তনে আমি এর মতো কিছু করতে পারি:
ex +'$s@$@\rexport PATH=\~/.composer/vendor/bin:$PATH@' -cwq ~/.bashrc
তবে কীভাবে আমি লাইনটি ইতিমধ্যে একই লাইনের পুনরাবৃত্তি না করে আদর্শভাবে (এবং এইভাবে কিছুই না করে) আছে কিনা তা পরীক্ষা করব?
অথবা প্রাক্তন সম্পাদকটিতে এটি করার কিছু সহজ উপায় আছে?
ex ~/.bashrc -c "if search('export PATH=\~\/.composer\/vendor\/bin:\$PATH')>0 | norm quit | endif | norm Aexport PATH=~/.composer/vendor/bin:$PATH"
export
এটি একটি কমান্ড , সুতরাং লাইনটির বাকী অংশটি শেল শব্দ, কোনও কাজ নয়। অতএব একটি পরিবর্তনশীল অ্যাসাইনমেন্টের সাথে ভিন্ন (এটি ব্যবহার করে না export
) আপনার ডাবল উদ্ধৃতি প্রয়োজন বা এটি হোয়াইটস্পেসে ভেঙে যাবে । আরো দেখুন কিভাবে সঠিকভাবে পথে একটি পাথ যোগ করার জন্য ।
grep -Fq 'export PATH=~/.composer/vendor/bin:$PATH' ~/.bashrc || ex ...
(বাcat
, এই বিষয়ে)?