কিভাবে অন্য স্ক্রিপ্টের একটি চলকটিতে ব্যাশ স্ক্রিপ্টের বিড়াল আউটপুট বরাদ্দ করা যায়


29

আমার কাছে বাশ স্ক্রিপ্ট রয়েছে যা একটি বিড়াল আউটপুট উত্পন্ন করে যখন এটি একটি আর্গুমেন্ট নেয়। আমার কাছে আরও একটি বাশ স্ক্রিপ্ট রয়েছে যা একটি বিতর্ক দিয়ে প্রথম ব্যাশ স্ক্রিপ্ট কার্যকর করে যা আমি বিড়ালের আউটপুটগুলি উত্পাদন করতে চাই। ভেরিয়েবলগুলিতে প্রথম ব্যাশ স্ক্রিপ্ট দ্বারা উত্পাদিত সেই বিড়াল আউটপুটগুলি কীভাবে সংরক্ষণ করব?

উত্তর:


38
var=$( cat foo.txt )

catভেরিয়েবলের আউটপুট সংরক্ষণ করবে var

var=$( ./myscript )

আউটপুট myscriptএকই ভেরিয়েবল সংরক্ষণ করবে।


5
আমার মতো ব্যাশ নতুনদের জন্য দ্রুত পরামর্শ, স্পেসিং এবং নন স্পেসিং সমস্ত গুরুত্বপূর্ণ, সঠিক প্যাটার্নটি অনুসরণ করুন! উদাহরণস্বরূপ var = $( cat foo.txt )কাজ করবে না
sojim2

@ ডালার foo.txt কত বড় হতে পারে একটি সীমা আছে? আমার কাছে 10 এমবি এর বেশি ডেটা রয়েছে। বিড়াল পুরো জিনিস সঞ্চয় করবে? আমি জানতে চাই ভবিষ্যতের রেফারেন্সেরও সীমা আছে কিনা।
myhouse

@ সোজিম আপনি কি এর উত্তর জানেন?
myhouse

1
@ মাইহাউস এই উত্তর অনুসারে বাশ দেওয়ার কারণে কোনও সীমা নেই, তবে সীমাটি অন্তর্নিহিত পরিবেশে বরাদ্দকৃত স্মৃতি, যা অবশ্যই পৃথক হতে পারে।
ডালকার

3

ডাবল উদ্ধৃতি ব্যবহার করুন। এটা চেষ্টা কর

var="$(cat foo.txt)"

3
জিনিসগুলিকে (বিশেষত যে জিনিসগুলি দিয়ে শুরু করা হয় $) ডাবল কোটে রাখার জন্য এটি কখনই খারাপ ধারণা নয় এবং এটি এখানে আঘাত করে না। তবে কোনও ভেরিয়েবলের ক্ষেত্রে অ্যাসাইনমেন্টের ক্ষেত্রে এটি আসলে সহায়তা করে না।
জি-ম্যান বলছেন 'মনিকাকে

@ জি-ম্যান: যদি সেই ভেরিয়েবলটিতে নিউলাইন বা ট্যাব থাকে যা আমরা ভেরিয়েবলে থাকতে চাই?
jvriesem

@ জাভরিসেম: তা যদি হয়? তোমার কোনো প্রশ্ন আছে?
জি-ম্যান বলেছেন 'পুনর্বহাল মনিকা'

আমি যখন এই আদেশটি চালাচ্ছি তখন মনে হয় এটি আমার সমস্ত নিউলাইনগুলি থেকে মুক্তি পাবে।
কে। কার্পেন্টার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.