<മുമ്പത്തെ | ഉള്ളടക്കം | അടുത്തത്>
ഇവിടെ രേഖകൾ
ഞങ്ങളുടെ ടെക്സ്റ്റ് ഔട്ട്പുട്ട് ചെയ്യുന്നതിനുള്ള രണ്ട് വ്യത്യസ്ത രീതികൾ ഞങ്ങൾ പരിശോധിച്ചു, രണ്ടും ഉപയോഗിക്കുന്നത് എക്കോ com-
മാൻഡ്. എ എന്ന് വിളിക്കപ്പെടുന്ന മൂന്നാമത്തെ വഴിയുണ്ട് ഇവിടെ പ്രമാണം or ഇവിടെ സ്ക്രിപ്റ്റ്. ഇവിടെ ഒരു ഡോക്യുമെന്റ് എന്നത് I/O റീഡയറക്ഷന്റെ ഒരു അധിക രൂപമാണ്, അതിൽ ഞങ്ങൾ ഒരു ടെക്സ്റ്റ് ബോഡി നമ്മുടെ സ്ക്രിപ്റ്റിലേക്ക് ഉൾച്ചേർക്കുകയും അത് ഒരു കമാൻഡിന്റെ സ്റ്റാൻഡേർഡ് ഇൻപുട്ടിലേക്ക് നൽകുകയും ചെയ്യുന്നു. ഇത് ഇതുപോലെ പ്രവർത്തിക്കുന്നു:
കമാൻഡ് << ടോക്കൺ
ടെക്സ്റ്റ്
ടോക്കൺ
എവിടെ കമാൻഡ് സ്റ്റാൻഡേർഡ് ഇൻപുട്ട് സ്വീകരിക്കുന്ന കമാൻഡിന്റെ പേരാണ് ടോക്കൺ ഉൾച്ചേർത്ത വാചകത്തിന്റെ അവസാനം സൂചിപ്പിക്കാൻ ഉപയോഗിക്കുന്ന ഒരു സ്ട്രിംഗ് ആണ്. ഇവിടെയുള്ള ഒരു ഡോക്യുമെന്റ് ഉപയോഗിക്കുന്നതിന് ഞങ്ങൾ ഞങ്ങളുടെ സ്ക്രിപ്റ്റ് പരിഷ്കരിക്കും:
#! / ബിൻ / ബാഷ്
# ഒരു സിസ്റ്റം വിവര പേജ് ഔട്ട്പുട്ട് ചെയ്യുന്നതിനുള്ള പ്രോഗ്രാം
TITLE="$HOSTNAME നായുള്ള സിസ്റ്റം വിവര റിപ്പോർട്ട്" CURRENT_TIME=$(തീയതി +"%x %r %Z")
TIMESTAMP="$CURRENT_TIME, $USER സൃഷ്ടിച്ചത്"
പൂച്ച << _EOF_
$TITLE
$TITLE
$TIMESTAMP
_EOF_
#! / ബിൻ / ബാഷ്
# ഒരു സിസ്റ്റം വിവര പേജ് ഔട്ട്പുട്ട് ചെയ്യുന്നതിനുള്ള പ്രോഗ്രാം
TITLE="$HOSTNAME നായുള്ള സിസ്റ്റം വിവര റിപ്പോർട്ട്" CURRENT_TIME=$(തീയതി +"%x %r %Z")
TIMESTAMP="$CURRENT_TIME, $USER സൃഷ്ടിച്ചത്"
പൂച്ച << _EOF_
$TITLE
$TITLE
$TIMESTAMP
_EOF_
ഉപയോഗിക്കുന്നതിന് പകരം എക്കോ, ഞങ്ങളുടെ സ്ക്രിപ്റ്റ് ഇപ്പോൾ ഉപയോഗിക്കുന്നു പൂച്ച ഇവിടെ ഒരു രേഖയും. ചരട് _EOF_ (“ഫയലിന്റെ അവസാനം,” ഒരു പൊതു കൺവെൻഷൻ എന്നർത്ഥം) ടോക്കണായി തിരഞ്ഞെടുത്തു, ഒപ്പം ഉൾച്ചേർത്ത വാചകത്തിന്റെ അവസാനം അടയാളപ്പെടുത്തുന്നു. ടോക്കൺ ഒറ്റയ്ക്ക് ദൃശ്യമാകണമെന്നും ലൈനിൽ ട്രെയിലിംഗ് സ്പെയ്സുകൾ ഉണ്ടാകരുതെന്നും ശ്രദ്ധിക്കുക.
ഇവിടെ ഒരു ഡോക്യുമെന്റ് ഉപയോഗിക്കുന്നതിന്റെ പ്രയോജനം എന്താണ്? ഇത് മിക്കവാറും സമാനമാണ് എക്കോ, അതൊഴിച്ചാൽ, ഡിഫോൾട്ടായി, ഇവിടെയുള്ള ഒറ്റ, ഇരട്ട ഉദ്ധരണികൾക്ക് ഷെല്ലിന് പ്രത്യേക അർത്ഥം നഷ്ടപ്പെടും. ഒരു കമാൻഡ് ലൈൻ ഉദാഹരണം ഇതാ:
[me@linuxbox ~]$ foo="ചില വാചകം"
[me@linuxbox ~]$ പൂച്ച << _EOF_
> $foo
[me@linuxbox ~]$ foo="ചില വാചകം"
[me@linuxbox ~]$ പൂച്ച << _EOF_
> $foo
> "$foo"
> '$foo'
> \$foo
> _EOF_ ചില വാചകം "ചില വാചകം" 'ചില വാചകം'
$foo
> "$foo"
> '$foo'
> \$foo
> _EOF_ ചില വാചകം "ചില വാചകം" 'ചില വാചകം'
$foo
നമുക്ക് കാണാനാകുന്നതുപോലെ, ഉദ്ധരണി ചിഹ്നങ്ങളിൽ ഷെൽ ശ്രദ്ധിക്കുന്നില്ല. അത് അവരെ സാധാരണ കഥാപാത്രങ്ങളായി കണക്കാക്കുന്നു. ഇവിടെയുള്ള ഒരു ഡോക്യുമെന്റിനുള്ളിൽ ഉദ്ധരണികൾ സ്വതന്ത്രമായി ഉൾപ്പെടുത്താൻ ഇത് ഞങ്ങളെ അനുവദിക്കുന്നു. ഇത് ഞങ്ങളുടെ റിപ്പോർട്ട് പ്രോഗ്രാമിന് ഉപയോഗപ്രദമാകും.
സ്റ്റാൻഡേർഡ് ഇൻപുട്ട് സ്വീകരിക്കുന്ന ഏത് കമാൻഡിലും ഇവിടെ ഡോക്യുമെന്റുകൾ ഉപയോഗിക്കാം. ഈ ഉദാഹരണത്തിൽ, കമാൻഡുകളുടെ ഒരു ശ്രേണി കൈമാറാൻ ഞങ്ങൾ ഇവിടെ ഒരു ഡോക്യുമെന്റ് ഉപയോഗിക്കുന്നു FTP ഒരു വിദൂര FTP സെർവറിൽ നിന്ന് ഒരു ഫയൽ വീണ്ടെടുക്കുന്നതിനുള്ള ക്രമത്തിലുള്ള പ്രോഗ്രാം:
#! / ബിൻ / ബാഷ്
# FTP FTP_SERVER=ftp.nl.debian.org വഴി ഒരു ഫയൽ വീണ്ടെടുക്കുന്നതിനുള്ള സ്ക്രിപ്റ്റ്
FTP_PATH=/debian/dists/lenny/main/installer-i386/current/images/cdrom REMOTE_FILE=debian-cd_info.tar.gz
ftp -n << _EOF_ $FTP_SERVER തുറക്കുക
ഉപയോക്താവ് അജ്ഞാതൻ me@linuxbox cd $FTP_PATH
ഹാഷ്
$REMOTE_FILE ബൈ നേടൂ
_EOF_
ls -l $REMOTE_FILE
#! / ബിൻ / ബാഷ്
# FTP FTP_SERVER=ftp.nl.debian.org വഴി ഒരു ഫയൽ വീണ്ടെടുക്കുന്നതിനുള്ള സ്ക്രിപ്റ്റ്
FTP_PATH=/debian/dists/lenny/main/installer-i386/current/images/cdrom REMOTE_FILE=debian-cd_info.tar.gz
ftp -n << _EOF_ $FTP_SERVER തുറക്കുക
ഉപയോക്താവ് അജ്ഞാതൻ me@linuxbox cd $FTP_PATH
ഹാഷ്
$REMOTE_FILE ബൈ നേടൂ
_EOF_
ls -l $REMOTE_FILE
നമ്മൾ റീഡയറക്ഷൻ ഓപ്പറേറ്ററെ “<<” എന്നതിൽ നിന്ന് “<<-” എന്നതിലേക്ക് മാറ്റുകയാണെങ്കിൽ, ഇവിടെയുള്ള പ്രമാണത്തിലെ മുൻനിര ടാബ് പ്രതീകങ്ങളെ ഷെൽ അവഗണിക്കും. ഇത് ഇവിടെ ഒരു ഡോക്യുമെന്റ് ഇൻഡന്റ് ചെയ്യാൻ അനുവദിക്കുന്നു, ഇത് വായനാക്ഷമത മെച്ചപ്പെടുത്താൻ കഴിയും:
#! / ബിൻ / ബാഷ്
# FTP FTP_SERVER=ftp.nl.debian.org വഴി ഒരു ഫയൽ വീണ്ടെടുക്കുന്നതിനുള്ള സ്ക്രിപ്റ്റ്
#! / ബിൻ / ബാഷ്
# FTP FTP_SERVER=ftp.nl.debian.org വഴി ഒരു ഫയൽ വീണ്ടെടുക്കുന്നതിനുള്ള സ്ക്രിപ്റ്റ്
FTP_PATH=/debian/dists/lenny/main/installer-i386/current/images/cdrom REMOTE_FILE=debian-cd_info.tar.gz
ftp -n <<- _EOF_ $FTP_SERVER തുറക്കുക
ഉപയോക്താവ് അജ്ഞാതൻ me@linuxbox cd $FTP_PATH
ഹാഷ്
$REMOTE_FILE ബൈ നേടൂ
_EOF_
ls -l $REMOTE_FILE
FTP_PATH=/debian/dists/lenny/main/installer-i386/current/images/cdrom REMOTE_FILE=debian-cd_info.tar.gz
ftp -n <<- _EOF_ $FTP_SERVER തുറക്കുക
ഉപയോക്താവ് അജ്ഞാതൻ me@linuxbox cd $FTP_PATH
ഹാഷ്
$REMOTE_FILE ബൈ നേടൂ
_EOF_
ls -l $REMOTE_FILE