මම උදාහරණයක් ලෙස බාෂ් ෂෙල් පිටපතක් කියවමි:
#!/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 / null භාවිතා කරයි, ස්ක්රිප්ට් බිඳ වැටීමට ඉඩ නොදී (ක්රමලේඛන භාෂාවලින් ව්යතිරේකය හැසිරවීමට උත්සාහ කිරීම වැනි). නාමාවලිය තාර ගොනුවකට සම්පීඩනය කිරීම සඳහා තාර භාවිතා කිරීම ඕනෑම ආකාරයක දෝෂයක් ඇති කරන්නේ කෙසේදැයි මා නොදකින බැවිනි.
tar
ඔබේ $ PATH හි නොමැති නිසා tar
බිඳ වැටී ඇත (ඔබ කිසි විටෙකත් නොදනී), උපාංගයේ ඉඩක් ඉතිරිව නැති නිසා, tar
අනුවාදය වෙනස් වී ඇති අතර දැන් වෙනස් සින්ටැක්ස් අවශ්ය වන නිසා තැටිය I / O දෝෂයක් ඇති විය. මට විශ්වාසයි ඔබට තවත් සොයා ගත හැකි බව.
/dev/null
බිඳ වැටීම වලක්වනු නොලැබේ, නමුත් stdout සහ stderr ප්රතිදාන ධාරාවන් පිරිසිදු කරයි.tar
විවිධ ආකාරවලින් දෝෂ ඇති කළ හැකිය. ඔබට ලිවීමේ ප්රවේශය නොතිබිය හැකිය, ගොනුව දැනටමත් පැවතිය හැකිය.