myconfig.conf
BASH ব্যবহার করে একটি ফাইলে আমি কীভাবে বহু-লাইন লিখতে পারি ?
#!/bin/bash
kernel="2.6.39";
distro="xyz";
echo <<< EOL
line 1, ${kernel}
line 2,
line 3, ${distro}
line 4
line ...
EOL >> /etc/myconfig.conf;
cat /etc/myconfig.conf;
myconfig.conf
BASH ব্যবহার করে একটি ফাইলে আমি কীভাবে বহু-লাইন লিখতে পারি ?
#!/bin/bash
kernel="2.6.39";
distro="xyz";
echo <<< EOL
line 1, ${kernel}
line 2,
line 3, ${distro}
line 4
line ...
EOL >> /etc/myconfig.conf;
cat /etc/myconfig.conf;
উত্তর:
সিনট্যাক্স ( <<<
) এবং ব্যবহৃত কমান্ডটি ( echo
) ভুল।
সঠিক হবে:
#!/bin/bash
kernel="2.6.39"
distro="xyz"
cat >/etc/myconfig.conf <<EOL
line 1, ${kernel}
line 2,
line 3, ${distro}
line 4 line
...
EOL
cat /etc/myconfig.conf
এই নির্মাণকে এখানে নথি হিসাবে উল্লেখ করা হয়েছে এবং বাশ ম্যান পৃষ্ঠাগুলির নীচে পাওয়া যাবে man --pager='less -p "\s*Here Documents"' bash
।
EOF
, অন্যথায় এটি স্বীকৃত হবে না এবং আপনি ফাইল ত্রুটির অপ্রত্যাশিত প্রান্তে চলে যাবেন ।
আপনি যদি ভেরিয়েবলগুলি প্রতিস্থাপন না করতে চান তবে আপনাকে ইওএলকে একক উদ্ধৃতি দিয়ে ঘিরে রাখা উচিত।
cat >/tmp/myconfig.conf <<'EOL'
line 1, ${kernel}
line 2,
line 3, ${distro}
line 4 line
...
EOL
পূর্ববর্তী উদাহরণ:
$ cat /tmp/myconfig.conf
line 1, ${kernel}
line 2,
line 3, ${distro}
line 4 line
...
হেরডোক সমাধান অবশ্যই এটি করার সবচেয়ে সাধারণ উপায়। অন্যান্য সাধারণ সমাধানগুলি হ'ল:
প্রতিধ্বনি 'লাইন 1,' "$ {কার্নেল}" ' লাইন 2, লাইন 3, '"$ {ডিস্ট্রো}"' লাইন 4 '> /etc/myconfig.conf
এবং
এক্সিকিউট 3> & 1 # বর্তমান স্টডআউট সংরক্ষণ করুন এক্সিকিউট> /etc/myconfig.conf প্রতিধ্বনি লাইন 1, {{কার্নেল} প্রতিধ্বনি লাইন 2, প্রতিধ্বনি লাইন 3, $ {ডিস্ট্রো ... এক্সিকিউট 1> & 3 # স্ট্যান্ডআউট পুনরুদ্ধার করুন
printf
আরও কিছু আকর্ষণীয় প্রকরণ পরিচয় করিয়ে দেয়।
নীচে মেকানিজম ফাইলগুলিতে একাধিক লাইন পুনর্নির্দেশে সহায়তা করে। সম্পূর্ণ স্ট্রিং এর নীচে রাখুন "
যাতে আমরা ভেরিয়েবলের মানগুলি পুনর্নির্দেশ করতে পারি।
#!/bin/bash
kernel="2.6.39"
echo "line 1, ${kernel}
line 2," > a.txt
echo 'line 2, ${kernel}
line 2,' > b.txt
বিষয়বস্তু a.txt
হয়
line 1, 2.6.39
line 2,
বিষয়বস্তু b.txt
হয়
line 2, ${kernel}
line 2,