শেল স্ক্রিপ্ট থেকে ফাইল তৈরি করুন, লিখুন এবং সংরক্ষণ করুন


10

আমি নিজে ফাইলটি লিখতে চাই না, তাই আমি একটি শেল-স্ক্রিপ্ট তৈরি করেছি। কী কী টিপতে না পেয়ে ফাইলটি স্বয়ংক্রিয়ভাবে ফাইল লেখার এবং সেভ করার কোনও উপায় আছে?

sudo nano blah
#write stuff to file
#save file
#continue

^ এটি একটি * .sh ফাইলের মধ্যে থাকবে

বা স্ক্রিপ্টে একটি সাধারণ পাঠ্য ফাইল তৈরি করার অন্য কোনও উপায় আছে?


1
আমি সন্দেহ করি আপনি এখানে ভুল প্রশ্ন করছেন। ন্যানোর মতো সম্পাদককে নিয়ন্ত্রণ করার চেষ্টা করার চেয়ে প্রোগ্রামেমেটিক পদ্ধতিতে একটি ফাইল লেখার অনেক সহজ উপায় রয়েছে। পরিবর্তে ফাইলটি দিয়ে আপনি কী করতে চান তা আমাদের জানান।
ওয়ারেন হিল

আমি কেবল এটি তৈরি করতে এবং একগুচ্ছ লাইন লিখতে চাই।
জারকোপাফিলিস

আপনি কি উইন্ডোজের জন্য অটাইটের মতো এমন কোনও সমাধানের জন্য জিজ্ঞাসা করছেন যা জিওআই প্রোগ্রামগুলি অন্য জিনিসের মধ্যে স্বয়ংক্রিয় করতে পারে বা উদাহরণস্বরূপ শেল স্ক্রিপ্টের পাঠ্য কীভাবে লিখতে সক্ষম হয় $echo "Some text" > afile.txt?
স্টিফ কে

@ জারকোপাফিলিস - আপনি কী বলতে চাইছেন তা পরিষ্কার করার জন্য আমি আপনার প্রশ্ন সম্পাদনা করেছি ited আমি যদি আপনার ভুল বুঝে থাকি তবে আপনি সর্বদা এটি আবার ফিরিয়ে আনতে পারেন। আমি আপনার জন্য একটি উত্তর পোস্ট করেছি।
ওয়ারেন হিল

উত্তর:


14

কমান্ডের আরও জটিল ক্রমগুলির জন্য আপনাকে এখানে নথিরcat সাথে কমান্ডটি ব্যবহার করা উচিত । মূল বিন্যাসটি হ'ল

command > file << END_TEXT
some text here
more text here
END_TEXT

END_TEXT লেবেলটি উদ্ধৃত হয়েছে বা অব্যক্ত নয় তা নির্ভর করে দুটি আলাদা আলাদা আচরণ রয়েছে:

  1. অকেজো লেবেল : সামগ্রীগুলি স্বাভাবিক শেল বিস্তারের পরে লেখা হয়

  2. উদ্ধৃত লেবেল : এখানের নথির বিষয়বস্তুগুলি স্বাভাবিক শেল বিস্তৃতি ছাড়াই আক্ষরিক অর্থে চিকিত্সা করা হয়

উদাহরণস্বরূপ নিম্নলিখিত স্ক্রিপ্ট বিবেচনা করুন

#!/bin/bash

var1="VALUE 1"
var2="VALUE 2"

cat > file1 << EOF1
do some commands on "$var1" 
and/or "$var2"
EOF1

cat > file2 << "EOF2"
do some commands on "$var1" 
and/or "$var2"
EOF2

ফলাফল হয়

$ cat file1
do some commands on "VALUE 1" 
and/or "VALUE 2"

এবং

$ cat file2
do some commands on "$var1" 
and/or "$var2"

আপনি যদি আপনার স্ক্রিপ্ট থেকে শেল কমান্ড আউটপুট করে থাকেন তবে আপনি সম্ভবত উদ্ধৃত ফর্মটি চান।


মানুষ কতক্ষণ আমি এই এক সন্ধান করে ^^ একটি প্রশ্ন: এটি কি কেবল স্ক্রিপ্টে কাজ করে বা এটি সরাসরি শেলটিতে ব্যবহার করা সম্ভব?
derHugo

@ ওডারহাগো আপনি এটিকে সরাসরি শেলটিতে ব্যবহার করতে পারেন - সেক্ষেত্রে ইনপুটটির শেষের সিগন্যালটি END_TEXTব্যবহার CTRL-Dকরা বাদ দেওয়া সহজ ব্যবহার হবে। উদাহরণস্বরূপ দেখুন
স্টিডিন ইনপুটটির

7

এটি করার জন্য কোনও সম্পাদককে নিয়ে গণ্ডগোলের দরকার নেই।

আপনি একটি সাধারণ ইকো কমান্ড দিয়ে কোনও ফাইলকে কিছু যুক্ত করতে পারেন। উদাহরণ স্বরূপ

echo "Hello World" >> txt

"হ্যালো ওয়ার্ল্ড" ফাইলটিতে যুক্ত হবে txt। যদি ফাইলটি না থাকে তবে এটি তৈরি করা হবে।

অথবা যদি ফাইলটি ইতিমধ্যে উপস্থিত থাকতে পারে এবং আপনি এটি ওভাররাইট করতে চান

echo "Hello World" > txt

প্রথম লাইনের জন্য: এবং

echo "I'm feeling good" >> txt
echo "how are you" >> txt 

পরবর্তী লাইন জন্য।

এটি সর্বাধিক সহজ .shস্ক্রিপ্টে কেবল ইকো কমান্ডের একটি সেট থাকতে পারে।

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