আমি একটি উদাহরণ বাশ শেল স্ক্রিপ্ট পড়ছি:
#!/bin/bash
# This script makes a backup of my home directory.
cd /home
# This creates the archive
tar cf /var/tmp/home_franky.tar franky > /dev/null 2>&1
# First remove the old bzip2 file. Redirect errors because this generates some if the archive
# does not exist. Then create a new compressed file.
rm /var/tmp/home_franky.tar.bz2 2> /dev/null
bzip2 /var/tmp/home_franky.tar
# Copy the file to another host - we have ssh keys for making this work without intervention.
scp /var/tmp/home_franky.tar.bz2 bordeaux:/opt/backup/franky > /dev/null 2>&1
# Create a timestamp in a logfile.
date >> /home/franky/log/home_backup.log
echo backup succeeded >> /home/franky/log/home_backup.log
আমি এখানে "/ dev / null 2> & 1" এর ব্যবহার বোঝার চেষ্টা করছি। প্রথমদিকে, আমি ভেবেছিলাম যে এই স্ক্রিপ্টটি স্ক্রিপ্টটি ক্র্যাশ না করে (তেমনি প্রোগ্রামিং ভাষাগুলিতে যেমন ধরার ব্যতিক্রম ধরা চেষ্টা করে) ত্রুটিগুলি অগ্রাহ্য করার জন্য / dev / নাল ব্যবহার করে। কারণ আমি দেখতে পাচ্ছি না যে কীভাবে টার ফাইলের মধ্যে ডিরেক্টরিকে সংকোচনের জন্য টার ব্যবহার করা সম্ভব যে কোনও ধরণের ত্রুটির কারণ হতে পারে।
tar
উত্সটিতে পড়ে নেই, কারণ আপনার AT PATH তে নেই, কারণ tar
ক্র্যাশ হয়েছে (আপনি কখনই জানেন না), কারণ ডিভাইসে কোনও স্থান অবশিষ্ট নেই, কারণ tar
সংস্করণটি পরিবর্তিত হয়েছে এবং এখন বিভিন্ন বাক্য গঠন প্রয়োজন, কারণ ডিস্কের ফলে I / O ত্রুটি হয়েছিল। আমি নিশ্চিত আপনি আরও খুঁজে পেতে পারে।
/dev/null
ক্রাশ হওয়া রোধ করবে না, তবে স্টডআউট এবং স্টডার আউটপুট স্ট্রিমগুলি পরিষ্কার করবে।tar
বিভিন্ন উপায়ে ত্রুটি ঘটতে পারে। আপনি লিখতে অ্যাক্সেস নেই, ফাইল ইতিমধ্যেই বিদ্যমান পারে, ইত্যাদি