బాష్ రీడ్ కమాండ్

Bash Read Command



చదవండి లేదా చనిపోండి మిత్రులారా. స్థాన పారామితులు మరియు ఎకో కమాండ్ వలె రీడ్ కమాండ్ కూడా అంతే ముఖ్యం. మీరు యూజర్ ఇన్‌పుట్‌ను, పాస్‌వర్డ్‌లను అంగీకరించడం, ఫంక్షన్‌లను వ్రాయడం, లూప్ మరియు ఫైల్ డిస్క్రిప్టర్‌లను ఎలా చూడబోతున్నారు? చదువు.

ఏమి చదవబడుతుంది?

రీడ్ అనేది ఒక బాష్ బిల్ట్ఇన్ కమాండ్, ఇది ఒక లైన్ లోని విషయాలను వేరియబుల్ లోకి చదువుతుంది. ఇది ప్రత్యేక షెల్ వేరియబుల్ IFS తో ముడిపడి ఉన్న పద విభజనకు అనుమతిస్తుంది. ఇది ప్రధానంగా యూజర్ ఇన్‌పుట్‌ను క్యాచ్ చేయడం కోసం ఉపయోగించబడుతుంది కానీ స్టాండర్డ్ ఇన్‌పుట్ నుండి ఇన్‌పుట్ తీసుకునే ఫంక్షన్‌లను అమలు చేయడానికి ఉపయోగించవచ్చు.







బాష్ బిల్డ్ ఇన్ కమాండ్ సహాయం చదవండి

మేము బాష్ స్క్రిప్ట్‌లలో రీడ్ కమాండ్‌ని ఎలా ఉపయోగించాలో తెలుసుకునే ముందు, ఇక్కడ మనం సహాయం పొందవచ్చు. మేము ఉదాహరణలలో కవర్ చేయడానికి ప్రయత్నించే వివరణలతో పాటు రీడ్ కమాండ్ కోసం అందుబాటులో ఉన్న అన్ని ఎంపికలను మీరు చూడాలి.



కమాండ్ లైన్



సహాయం చదవండి

అవుట్‌పుట్





చదవండి:చదవండి [-ఎర్స్] [-ఒక శ్రేణి] [-డి షేర్] [-i టెక్స్ట్] [-n nchars] [-ఎన్ ఎన్చార్లు]
[-పి ప్రాంప్ట్] [-సమయం ముగిసింది] [-u fd] [పేరు ...]

ప్రామాణిక ఇన్‌పుట్ నుండి ఒక పంక్తిని చదవండి మరియువిభజనఅది క్షేత్రాలలోకి.

ప్రామాణిక ఇన్‌పుట్ నుండి లేదా నుండి ఒకే పంక్తిని చదువుతుందిఫైల్డిస్క్రిప్టర్ FD
ఉంటేది-ఉఎంపిక సరఫరా చేయబడింది. లైన్ ఉందివిభజనక్షేత్రాలలోకిగాపదంతో
విభజన, మరియు మొదటి పదం మొదటి NAME కి కేటాయించబడుతుంది, రెండవది
రెండవ NAME కి పదం, ఇంకా ఏవైనా మిగిలిపోయిన పదాలు కేటాయించబడతాయి
దిచివరిపేరు. అక్షరాలు మాత్రమే కనుగొనబడ్డాయిలో $ IFSగుర్తించబడ్డాయిగాపదం
డీలిమిటర్లు.

NAME లు సరఫరా చేయకపోతే, లైన్చదవండినిల్వ చేయబడుతుందిలోప్రత్యుత్తరం వేరియబుల్.

ఎంపికలు:
-వరకుశ్రేణి పదాలను కేటాయిస్తుందిచదవండిశ్రేణి యొక్క వరుస సూచికలకు
వేరియబుల్ ARRAY, సున్నా నుండి ప్రారంభమవుతుంది
-డిడీలిమ్కొనసాగించండి వరకుDELIM యొక్క మొదటి అక్షరంచదవండి, బదులుగా
కొత్త లైన్ కంటే
-ఇ లైన్ పొందడానికి రీడ్‌లైన్ ఉపయోగించండిలోఒక ఇంటరాక్టివ్ షెల్
-ఐటెక్స్ట్ ఉపయోగం TEXTగాప్రారంభ వచనంకోసంరీడ్ లైన్
-nncharsతిరిగివేచి ఉండటం కంటే NCHARS అక్షరాలను చదివిన తరువాత
కోసంకొత్త లైన్, కానీ డీలిమిటర్‌ను గౌరవించండిఉంటేకంటే తక్కువ

NCHARS అక్షరాలుచదవండిడీలిమిటర్ ముందు
-ఎన్ncharsతిరిగితప్ప, ఖచ్చితంగా NCHARS అక్షరాలను చదివిన తర్వాత మాత్రమే
EOF ఎదురైంది లేదాచదవండి సార్లుఏదీ పట్టించుకోకుండా
డీలిమిటర్
-పిముందు వెనుకంజలో ఉన్న కొత్త లైన్ లేకుండా స్ట్రింగ్ PROMPT ని వెంటనే ప్రాంప్ట్ చేయండి
ప్రయత్నిస్తోందిచదవండి
-ఆర్చేయండిబ్యాక్‌స్లాష్‌లు ఏ అక్షరాల నుండి తప్పించుకోవడానికి అనుమతించవద్దు
-ఎస్చేయండికాదుబయటకు విసిరారుటెర్మినల్ నుండి ఇన్‌పుట్ వస్తుంది
-టిసమయం ముగిసినదిసమయంబయటకు మరియుతిరిగివైఫల్యంఉంటేకుపూర్తియొక్క లైన్
ఇన్పుట్ కాదుచదవండిTIMEOUT సెకన్లలోపు. యొక్క విలువ
TMOUT వేరియబుల్ డిఫాల్ట్ గడువు ముగిసింది. TIMEOUT కావచ్చు
భిన్న సంఖ్య. TIMEOUT అయితే0,చదవండితిరిగి వస్తుంది
వెంటనే, ప్రయత్నించకుండాచదవండిఏదైనా డేటా, తిరిగి వస్తుంది
విజయం మాత్రమేఉంటేపేర్కొన్న దానిపై ఇన్‌పుట్ అందుబాటులో ఉంది
ఫైల్వివరణకర్త. దిబయటకి దారిస్థితి కంటే గొప్పది128
ఉంటేగడువు ముగిసింది
-ఉఎఫ్ డిచదవండినుండిఫైల్ప్రామాణిక ఇన్‌పుట్‌కు బదులుగా డిస్క్రిప్టర్ FD

నిష్క్రమణ స్థితి:
దితిరిగిఎండ్-ఆఫ్-ఫైల్ ఎదురైనట్లయితే, కోడ్ సున్నా.చదవండి సార్లుబయటకు
(లో ఇది కేసుఅది128 కంటే ఎక్కువ), వేరియబుల్ అసైన్‌మెంట్ తప్పు

వినియోగదారు ఇన్‌పుట్‌ను పట్టుకోవడం

ఇంటరాక్టివ్ బాష్ స్క్రిప్ట్‌లు వినియోగదారు ఇన్‌పుట్‌ను పట్టుకోకుండా ఏమీ కాదు. రీడ్ బిల్ట్ ఇన్ యూజర్ ఇన్‌పుట్ బాష్ స్క్రిప్ట్‌లో క్యాచ్ అయ్యే పద్ధతులను అందిస్తుంది.

ఇన్‌పుట్ లైన్‌ను పట్టుకోవడం

చదవడానికి ఇన్‌పుట్ NAME ల ఎంపికలు మరియు ఎంపికలు అవసరం లేదు. NAME పేర్కొనబడనప్పుడు, వినియోగదారు ఇన్‌పుట్‌ను నిల్వ చేయడానికి REPLY అనే వేరియబుల్ ఉపయోగించబడుతుంది.



ఆదేశాలు

{
బయటకు విసిరారు -n 'ఏదైనా టైప్ చేసి ఎంటర్ నొక్కండి:';
చదవండి;
బయటకు విసిరారుమీరు టైప్ చేసారు$ {ప్రత్యుత్తరం}
}

అవుట్‌పుట్

ఏదో టైప్ చేసి ఎంటర్ నొక్కండి: ఏదో(కొత్త వాక్యం)
మీరు ఏదో టైప్ చేసారు

ఇన్‌పుట్ యొక్క పదాన్ని పట్టుకోవడం

ఇన్‌పుట్ యొక్క పదాన్ని పట్టుకోవడానికి, -d ఎంపిక అవసరం. ఒక పదం విషయంలో మనం -d ని స్పేస్‌కి సెట్ చేస్తాము, ‘-d’ చదవండి. అప్పుడే యూజర్ స్పేస్ బార్ నొక్కినప్పుడు రీడ్ అనే పదంతో రీలోడ్ అవుతుంది.

-D ఎంపికను సెట్ చేసినప్పుడు, బ్యాక్‌స్పేస్ ఆశించిన విధంగా పనిచేయదని గమనించండి. బ్యాక్‌స్పేస్ చేయడానికి, ఇన్‌పుట్ పదం పట్టుకోవడానికి ప్రయత్నిస్తున్నప్పుడు, -e ఎంపికను ఉపయోగించవచ్చు, -e ‘-d’ చదవండి.

ఆదేశాలు

{
బయటకు విసిరారు -n 'ఏదైనా టైప్ చేయండి మరియు స్పేస్‌ని నొక్కండి:';
చదవండి '-d';
బయటకు విసిరారు '';
బయటకు విసిరారు 'మీరు టైప్ చేసారు$ {ప్రత్యుత్తరం}'
}

అవుట్‌పుట్

ఏదో టైప్ చేసి స్పేస్‌ని నొక్కండి: ఏదో(స్థలం)
మీరు ఏదో టైప్ చేసారు

సత్వర వినియోగదారు

ఇంటరాక్టివ్ బాష్ స్క్రిప్ట్‌లలో వినియోగదారుని ఇన్‌పుట్ ఏమి ఆశిస్తున్నారో తెలియజేయడానికి ఒక యూజర్‌ను ప్రాంప్ట్ చేసే మెసేజ్ అవసరం కావచ్చు. ప్రతిధ్వని బిల్డింగ్‌ని ఉపయోగించి మనం దీనిని ఎల్లప్పుడూ సాధించవచ్చు. అయితే, రీడ్ ఉపయోగించి ఒక ఎంపిక ఉందని తేలింది.

ఒక పదం కోసం వినియోగదారుని ప్రాంప్ట్ చేయండి

ఇన్‌పుట్ పదాన్ని పట్టుకోవడంలో, మనం ఏదో టైప్ చేసి స్పేస్‌ని నొక్కడానికి ఎకోని ఉపయోగించాము: ‘-d’ చదివే ముందు ప్రామాణిక అవుట్‌పుట్‌కు. ప్రామాణిక ఇన్‌పుట్ నుండి చదవడానికి ముందు -p ఎంపిక సందేశాన్ని ప్రదర్శించడానికి అనుమతిస్తుంది.

ఆదేశాలు

{
చదవండి -పి 'ఏదైనా టైప్ చేయండి మరియు స్పేస్‌ని నొక్కండి:' '-d';
బయటకు విసిరారు '';
బయటకు విసిరారు 'మీరు టైప్ చేసారు$ {ప్రత్యుత్తరం}'
}

అవుట్‌పుట్

ఏదో టైప్ చేసి స్పేస్‌ని నొక్కండి: ఏదో(స్థలం)
మీరు ఏదో టైప్ చేసారు

ఒక రహస్యం కోసం వినియోగదారుని ప్రాంప్ట్ చేయండి

టెర్మినల్‌లో చూపకుండా యూజర్ ఇన్‌పుట్‌ను పట్టుకున్నప్పుడు, -s ఎంపిక ఉపయోగపడుతుంది. read -s -p కింది విధంగా యూజర్ ఇన్‌పుట్‌ను క్యాచ్ చేయడానికి మరియు దాచడానికి మిమ్మల్ని అనుమతిస్తుంది.

ఆదేశాలు

{
చదవండి -ఎస్ -పి 'నేను రహస్యంగా ఉంచుతానని వాగ్దానం చేసినదాన్ని టైప్ చేయండి:'
బయటకు విసిరారు '';
బయటకు విసిరారు 'మీ రహస్యం నాతో సురక్షితం';సెట్ చేయలేదుప్రత్యుత్తరం;
బయటకు విసిరారు '$ {ప్రత్యుత్తరం}'
}

అవుట్‌పుట్

నేను రహస్యంగా ఉంచుతానని వాగ్దానం చేసినదాన్ని టైప్ చేయండి:
మీ రహస్యం నాతో సురక్షితంగా ఉంది

చదవడం ఉపయోగించి విధులు

చదవడం మరియు ప్రామాణిక ఇన్‌పుట్‌ను ఉపయోగించే బాష్‌లోని విధుల ఉదాహరణలు ఇక్కడ ఉన్నాయి

ప్రధాన భావన

చదవడానికి ఉపయోగించే విధులు పైప్డ్ ప్రామాణిక ఇన్‌పుట్ మరియు పారామితులను ఉపయోగిస్తాయి. ఒక ఫైల్‌లోని పంక్తులు వంటి ప్రధాన ఇన్‌పుట్ ప్రామాణిక ఇన్‌పుట్ ద్వారా పైప్ ద్వారా పంపబడుతుంది. ఇతర ఇన్‌పుట్ if-any మరియు ఐచ్ఛికం పారామీటర్‌లలో పాస్ చేయబడతాయి.

చదవండి -టి 1NAME1 NAME2 ...

చదవండిఒకబిల్డింగ్ కమాండ్

-t 1 బాష్ స్క్రిప్ట్ ప్రామాణిక ఇన్‌పుట్ ద్వారా తిరిగి ఇవ్వబడే లైన్ కోసం నిరవధికంగా వేచి ఉండకుండా నిరోధించండి. ప్రామాణిక ఇన్‌పుట్ మొదట్లో ఖాళీగా ఉంటే, ఫంక్షన్ 142 యొక్క నిష్క్రమణ కోడ్‌తో తిరిగి వస్తుంది, ఇది సెట్ గడువు ముగిసిన వ్యవధిలో తేదీ చదవలేదని సూచిస్తుంది

NAME1 NAME2 వేరియబుల్ పేర్లు

... అనేక వేరియబుల్ పేర్లు జాబితా చేయబడవచ్చు

ఇప్పుడు గ్రౌండ్‌వర్క్‌లు సెట్ చేయబడ్డాయి, రీడ్ ఉపయోగించి అమలు చేయబడిన విధులు ఎలా ఉన్నాయో చూద్దాం.

రీడ్ ఉపయోగించి ఫంక్షన్‌లో చేరండి

పదాల జాబితాను తీసుకొని, డీలిమిటర్ ద్వారా చేరిన పదాల మరొక జాబితాను అందించే జాయిన్ ఫంక్షన్ మాకు కావాలని అనుకుందాం. రీడ్ ఉపయోగించి జాయిన్ ఫంక్షన్‌ను మేము ఎలా అమలు చేయవచ్చో ఇక్కడ ఉంది.

స్క్రిప్ట్

#!/బిన్/బాష్
## చేరండి
## వెర్షన్ 0.0.2 - పునరావృత పారామితులను పరిష్కరించండి
#######################################################
చేరండి() { { స్థానికపరిమితి;పరిమితి='$ {1-}';స్థానికఅవుట్‌డెలిమిటర్;
అవుట్‌డెలిమిటర్='$ {2-.}';}
స్థానికకారు
స్థానికcdr
స్థానికIFS
IFS='$ {అపరిమిత}'
చదవండి -టి 1కారు cdr|| తిరిగి
పరీక్ష '$ {cdr}' || { బయటకు విసిరారు '$ {car}';తిరిగి;}
బయటకు విసిరారు '$ {car}$ {outdelimiter}$ {cdr}' | $ {FUNCNAME} '$ {అపరిమిత}'
'$ {outdelimiter}'
}
#######################################################
## create-stub2.sh v0.1.2 ద్వారా రూపొందించబడింది
## సోమవారం, 17 జూన్ 2019 12:24:59 +0900
## చూడండి
#######################################################

మూలం: join.sh
కమాండ్ లైన్

బయటకు విసిరారుఒక బి| చేరండి

అవుట్‌పుట్

a.b

కమాండ్ లైన్

బయటకు విసిరారుఒక బి| చేరండి | చేరండి. |

అవుట్‌పుట్

కు|బి

రీడ్ ఉపయోగించి మ్యాప్ విధులు

మాకు ఒక మ్యాప్ ఫంక్షన్ కావాలని అనుకుందాం, అది ఒక జాబితాను తీసుకొని, మరొక ఫంక్షన్ ద్వారా సవరించబడిన అదే సంఖ్యలో మూలకాలను కలిగి ఉన్న మరొక జాబితాను అందిస్తుంది. రీడ్ ఉపయోగించి మేము మ్యాప్ ఫంక్షన్‌ను ఎలా అమలు చేయవచ్చో ఇక్కడ ఉంది.

స్క్రిప్ట్

#!/బిన్/బాష్
## మ్యాప్
## వెర్షన్ 0.0.1 - ప్రారంభ
#######################################################
మ్యాప్() { { స్థానికఫంక్షన్_పేరు;ఫంక్షన్_పేరు='$ {1}';}
స్థానికకారు
స్థానికcdr
స్థానికIFS
IFS='$ {అపరిమిత-}'
చదవండి -టి 1కారు cdr|| తిరిగి
పరీక్ష '$ (డిక్లేర్ -f $ {function_name})' || తిరిగి
పరీక్ష '$ {car}' || { నిజం;తిరిగి;}
$ {function_name} $ {car}
బయటకు విసిరారు '$ {cdr}' | $ {FUNCNAME} '$ {function_name}'
}
#######################################################
## create-stub2.sh v0.1.2 ద్వారా రూపొందించబడింది
## మంగళవారం, 18 జూన్ 2019 08:33:49 +0900
## చూడండి
#######################################################

మూలం: Map.sh
ఆదేశాలు

NS() { స్థానిక -ఐ i=$ {1};బయటకు విసిరారు$((i** 2 ));}
బయటకు విసిరారు {1..10} |మ్యాప్ పౌ

అవుట్‌పుట్

1
4
9
16
25
36
49
64
81
100

రీడ్ ఉపయోగించి ఫంక్షన్‌ను ఫిల్టర్ చేయండి

మాకు ఒక ఫిల్టర్ ఫంక్షన్ కావాలని అనుకుందాం, అది జాబితాను తీసుకొని, మరొక ఫంక్షన్ ద్వారా సెట్ చేయబడిన షరతులను సంతృప్తిపరిచే అంశాల ఉప జాబితాను అందిస్తుంది. రీడ్ ఉపయోగించి ఫిల్టర్ ఫంక్షన్‌ను మనం ఎలా అమలు చేయవచ్చో ఇక్కడ ఉంది.

స్క్రిప్ట్

#!/బిన్/బాష్
## ఫిల్టర్
## వెర్షన్ 0.0.1 - ప్రారంభ
#######################################################
వడపోత() { { స్థానికఫంక్షన్_పేరు;ఫంక్షన్_పేరు='$ {1}';}
స్థానికకారు
స్థానికcdr
స్థానికIFS
IFS='$ {అపరిమిత-}'
చదవండి -టి 1కారు cdr|| తిరిగి
పరీక్ష '$ (డిక్లేర్ -f $ {function_name})' || తిరిగి
పరీక్ష '$ {car}' || { నిజం;తిరిగి;}
$ {function_name} '$ {car}' || బయటకు విసిరారు -n '$ {car}'
బయటకు విసిరారు '$ {cdr}' | $ {FUNCNAME} '$ {function_name}'
}
#######################################################
## create-stub2.sh v0.1.2 ద్వారా రూపొందించబడింది
## మంగళవారం, 18 జూన్ 2019 13:19:54 +0900
## చూడండి
#######################################################

మూలం: వడపోత. s

ఆదేశాలు

బేసి() { స్థానిక -ఐ i=$ {1};పరీక్ష !$((i% 2 )) -ఎక్యూ 1;}
బయటకు విసిరారు {1..10} |బేసి వడపోత

అవుట్‌పుట్

1 3 5 7 9

చదవడం ఉపయోగించి ఉచ్చులు

రీడ్‌ని ఉపయోగించే ఉచ్చులు జనరేట్ చేయాల్సిన లేదా ఇప్పటికే ఉన్న ఫైల్ లైన్‌ల ద్వారా మళ్లీ చెప్పడానికి మిమ్మల్ని అనుమతిస్తాయి.

లెఫ్ట్‌హ్యాండ్ సైడ్ (lhs) కోసం ప్రాథమికంగా చదివేటప్పుడు లూప్

మాకు కమాండ్ లేదా ఫంక్షన్ (lhs) ఉంది, అది ఫైల్‌లో లైన్‌లను రూపొందించగలదు, అది రీడ్ మరియు కొంతకాలం లూప్ ఉపయోగించి లూప్ చేయవచ్చు.

నిర్మాణం

lhs| అయితే చదవండి
చేయండి
నిజం
పూర్తి
lhs ఒకకమాండ్అది పంక్తుల జాబితాను అందిస్తుంది

ఆదేశాలు

సీక్యూ 5 | అయితే చదవండిi
చేయండి
బయటకు విసిరారు $ {i}
పూర్తి

అవుట్‌పుట్

1
2
3
4
5

రైట్‌హ్యాండ్ సైడ్ (rhs) కోసం ప్రాథమికంగా చదివేటప్పుడు లూప్

రీడ్ మరియు కాసేపు లూప్ ఉపయోగించి లూప్ చేయగల లైన్‌లతో కూడిన ఫైల్ (rhs) మా వద్ద ఉంది.

నిర్మాణం

అయితే చదవండి
చేయండి
నిజం
పూర్తి <rhs

rhs ఒకఫైల్పంక్తులు కలిగి

ఆదేశాలు

సీక్యూ 5 >rhs
అయితే చదవండిi
చేయండి
బయటకు విసిరారు $ {i}
పూర్తి <rhs

అవుట్‌పుట్

1
2
3
4
5

రీడ్ ఉపయోగించి లూప్ చేస్తున్నప్పుడు కస్టమ్ lhs

మేము చదవడం ద్వారా లూప్ చేయాలనుకునే పదాల స్ట్రీమ్ ఉంది.

నిర్మాణం

(
IFS=''
lhs| అయితే చదవండి
చేయండి
నిజం
పూర్తి
)

lhs అనేది పదాల జాబితా

ఆదేశాలు

(
IFS=''
బయటకు విసిరారు {1..5} | అయితే చదవండిi
చేయండి
బయటకు విసిరారు '$ {i}
పూర్తి
)

అవుట్‌పుట్

1 2 3 4 5

ప్రామాణిక ఇన్‌పుట్‌కు బదులుగా ఏదైనా ఎఫ్‌డి నుండి చదవడం

రీడ్ బిల్ట్ ఐచ్ఛికం తరచుగా తాకబడకుండా వదిలేయడం అనేది మీరు ఏ ఫైల్ డిస్క్రిప్టర్ నుండి చదవాలో, -u FD చదవాలని నిర్దేశించడానికి అనుమతిస్తుంది. డిఫాల్ట్‌గా FD ప్రామాణిక ఇన్‌పుట్‌గా తీసుకోబడుతుంది.

ప్రధాన భావన

ఫైల్ తెరిచినప్పుడు ఫైల్ డిస్క్రిప్టర్‌లు కేటాయించబడతాయి. బాష్‌లోని IO దారి మళ్లింపు నిర్దిష్ట ఫైల్ డిస్క్రిప్టర్‌తో ఫైల్‌ను తెరిచి ఉంచడానికి అనుమతిస్తుంది. ఫైల్‌కు వ్రాయడానికి, దాని నుండి చదవడానికి మరియు మేము పూర్తి చేసిన తర్వాత దాన్ని మూసివేయడానికి మాకు అనుమతి ఉంది.

_()
{
పిల్లి /దేవ్/శూన్య>మైఫిఫో;# ఖాళీ myfifo
కార్యనిర్వహణ 3<మైఫిఫో;# ఫైల్ myfifo ని fd 3 గా తెరవండి
బయటకు విసిరారు 'హలో, ప్రపంచం! - fd 3 'నుండి >మైఫిఫో;# myfifo కి వ్రాయండి
చదవండి -ఉ 3;# fd 3 నుండి లైన్ చదవండి
కార్యనిర్వహణ 3> &-;# fd ని మూసివేయండి 3
బయటకు విసిరారు $ {ప్రత్యుత్తరం} # అవుట్‌పుట్ లైన్ మూసివేసే ముందు fd 3 నుండి చదవబడింది
}
_# హలో, ప్రపంచం! fd 3 నుండి

ఫైల్ డిస్క్రిప్టర్‌లతో రైలు నిర్మించడం మరియు -u FD చదవండి

సరదా కోసం నేను ఫైల్ డిస్క్రిప్టర్‌లతో రైలు నిర్మించాలని నిర్ణయించుకున్నాను మరియు -u FD చదవండి. ప్రతి ఫైల్ డిస్క్రిప్టర్‌కు ఒక సంఖ్య వ్రాయబడుతుంది. ప్రతి ఫైల్ డిస్క్రిప్టర్ క్రింద ఉన్న ఫైల్ డిస్క్రిప్టర్ 1 నుండి చదువుతుంది మరియు దానితో జతచేయబడుతుంది.

కమాండ్ లైన్

బాష్linuxhint.com/నిర్మించు/test-read-fd.sh రైలు10

అవుట్‌పుట్

fds ప్రారంభిస్తోంది ...
fd ప్రారంభించడం3...
ఎఫ్ డి3ఇంటీయలైజ్ చేయబడింది
fd ప్రారంభించడం4...
ఎఫ్ డి4ఇంటీయలైజ్ చేయబడింది
fds intialized
fd నుండి చదవడం3మరియు4...
4 3
శుభ్రం చేయడానికి ముందు fds
0 1 2 3 4 5
శుభ్రం ...
ఎఫ్‌డిలను శుభ్రం చేస్తోంది ...
పూర్తిfds శుభ్రం
శుభ్రపరిచిన తర్వాత fds
0 1 2 3

Read -u FD ఉపయోగించి ఫంక్షన్‌ను దాటవేయి

మీరు నడుస్తుంటే

పేరులేని -వరకు
MINGW64_NT-10.0డెస్క్‌టాప్- XVVVVVVV 2.7.0(0.307/5/3)
2017.-02-17 14:ఇరవైx86_64 శ్రీమతి
బాష్ --సంస్కరణ: Telugu
GNUబాష్, వెర్షన్ 4.4.12(1)-విడుదల(x86_64-pc-msys)

స్క్రిప్ట్ మూలం చదివే ముందు ఫంక్షన్ల వెలుపల బాష్ స్క్రిప్ట్‌లో కింది లైన్‌ని దాటవేసే స్కిప్ ఫంక్షన్‌ను అమలు చేయడానికి బగ్ కారణంగా ఇది సాధ్యమవుతుంది. ఇది చాలా సిస్టమ్‌లలో పనిచేయదని గమనించండి. ఉదాహరణకి,

పేరులేని -వరకు
లైనక్స్ 4.9.0-8-Ad64#1 డెబియన్ SMP 4.9.144-3.1 (2019-02-19) x86_64 GNU/Linux
బాష్ --సంస్కరణ: Telugu
GNUబాష్, వెర్షన్ 4.4.12(1)-విడుదల(x86_64-pc-linux-gnu)

స్కిప్ ఎగరదు.

ఫంక్షన్

దాటవేయి() { చదవండి -ఉ 31;}

ఆదేశాలు

దాటవేయి
బయటకు విసిరారులైన్ దాటవేయబడింది
నిజం

అవుట్‌పుట్

(ఖాళీ)

క్రింది గీత

బాష్‌లో నిర్మించిన రీడ్ యూజర్ ఇన్‌పుట్‌ను క్యాచ్ చేయడం కంటే ఎక్కువ చేస్తుంది. బాష్ స్క్రిప్ట్‌లలో ఉపయోగించే ఫైల్ డిస్క్రిప్టర్‌ల మధ్య ఫంక్షన్లు, లూప్‌లు మరియు ఎక్స్ఛేంజీలలో దీనిని ఉపయోగించవచ్చు. సందర్భాలలో రీడ్ మరియు ఫైల్ డిస్క్రిప్టర్‌లను ఉపయోగించి అన్వేషణ ఈస్టర్ గుడ్లను ఇవ్వవచ్చు.