బాష్లో మార్గం మరియు పొడిగింపు లేకుండా ఫైల్ బేస్ పేరును సంగ్రహించండి
ఫైల్ యొక్క పాత్ మరియు ఎక్స్టెన్షన్ లేకుండా బేస్నేమ్ను సంగ్రహించడానికి, మేము బేస్నేమ్ కమాండ్ను బాష్ యొక్క పారామీటర్ ప్రత్యామ్నాయ ఫీచర్తో కలిపి ఉపయోగించవచ్చు. బేస్నేమ్ కమాండ్ పాత్నేమ్ యొక్క చివరి భాగాన్ని అందిస్తుంది, ఇది మా సందర్భంలో దాని పొడిగింపుతో ఫైల్ పేరుగా ఉంటుంది. అయితే, ప్రత్యయం ఎంపికను పేర్కొనడం ద్వారా, మేము ఫైల్ పేరు నుండి పొడిగింపును తీసివేయవచ్చు, ఇక్కడ ఒక ఉదాహరణ బాష్ కోడ్ ఉంది:
#!బిన్/బాష్ఫైల్పాత్ = / ఇల్లు / ఆలియన్ / bash3.sh
లు =$ ( బేస్ పేరు $ ఫైల్పాత్ )
ప్రతిధ్వని ' ${s%.*} '
పై బాష్ స్క్రిప్ట్ '' అనే వేరియబుల్ని నిర్వచిస్తుంది ఫైల్పాత్ 'మరియు దానిని ఫైల్ యొక్క మార్గాన్ని కేటాయిస్తుంది' /home/aaliyan/bash3.sh '. స్క్రిప్ట్ అప్పుడు ఫైల్ పాత్ నుండి ఫైల్ యొక్క బేస్ పేరును సంగ్రహించడానికి బేస్ నేమ్ ఆదేశాన్ని ఉపయోగిస్తుంది మరియు ఫలితాన్ని “s” అనే వేరియబుల్కు కేటాయిస్తుంది.
రెండవ పరామితి విస్తరణ ఫైల్ పేరు నుండి '%.*'ని ఉపయోగించి చుక్కతో పాటు ఏవైనా అక్షరాల యొక్క అతి తక్కువ సరిపోలికను తీసివేయడం ద్వారా పొడిగింపును తొలగిస్తుంది. ఫలితంగా స్ట్రింగ్, “bash3”, అప్పుడు echo కమాండ్ ఉపయోగించి కన్సోల్కు ముద్రించబడుతుంది:
ఫైల్ పాత్ మరియు ఎక్స్టెన్షన్ లేకుండా ఫైల్ యొక్క బేస్నేమ్ను సంగ్రహించడానికి మరొక మార్గం బేస్నేమ్ కమాండ్ని ఉపయోగించకుండా పారామీటర్ విస్తరణను ఉపయోగించడం, ఫైల్ లేకుండా ఫైల్ యొక్క బేస్నేమ్ను పొందడానికి పారామీటర్ విస్తరణ పద్ధతిని ఉపయోగించే ఉదాహరణ బాష్ కోడ్ క్రింద ఉంది మార్గం మరియు ఫైల్ పొడిగింపు:
#!బిన్/బాష్
ఫైల్పాత్ = / ఇల్లు / ఆలియన్ / bash3.sh
లు = ${ఫైల్పాత్##*/}
ప్రతిధ్వని ' ${s%.*} '
ఇది “ఫైల్పాత్” అని పిలువబడే వేరియబుల్ను నిర్వచించే బాష్ స్క్రిప్ట్ మరియు దానికి “” విలువను కేటాయిస్తుంది. /home/aaliyan/bash3.sh '. స్క్రిప్ట్ దాని మార్గం మరియు పొడిగింపు లేకుండా ఫైల్ యొక్క బేస్ పేరును సంగ్రహించడానికి బాష్ యొక్క పారామీటర్ విస్తరణ లక్షణాన్ని రెండుసార్లు ఉపయోగిస్తుంది. ప్రత్యేకించి, మొదటి పరామితి విస్తరణ '##/'ని ఉపయోగించి ఫార్వార్డ్ స్లాష్తో పాటు ఏవైనా అక్షరాల యొక్క పొడవైన సాధ్యం సరిపోలికను తీసివేయడం ద్వారా ఫైల్ పేరు నుండి పాత్ను తొలగిస్తుంది.
ఫలిత స్ట్రింగ్, ' bash3.sh ”అప్పుడు “s” అనే వేరియబుల్కు కేటాయించబడుతుంది. రెండవ పరామితి విస్తరణ ఫైల్ పేరు నుండి పొడిగింపును తీసివేసి, '%'ని ఉపయోగించి చుక్కతో పాటు ఏవైనా అక్షరాల సంఖ్య యొక్క అతి తక్కువ సరిపోలికను తీసివేస్తుంది. ఫలితంగా స్ట్రింగ్, “bash3”, అప్పుడు echo కమాండ్ ఉపయోగించి కన్సోల్కు ముద్రించబడుతుంది:
ముగింపు
బాష్ స్క్రిప్టింగ్లో ఫైల్ పాత్ మరియు ఎక్స్టెన్షన్ లేకుండా బేస్నేమ్ని సంగ్రహించడం ఒక సాధారణ పని. బాష్ యొక్క పారామీటర్ ప్రత్యామ్నాయం మరియు పారామీటర్ విస్తరణ లక్షణాలతో కలిపి బేస్నేమ్ కమాండ్ని ఉపయోగించడం ద్వారా, మనం ఈ పనిని సులభంగా సాధించవచ్చు. స్క్రిప్ట్లలో ఫైల్ పేర్లతో పని చేస్తున్నప్పుడు ఇది ఉపయోగకరంగా ఉంటుంది, ఉదాహరణకు, ఫైల్ల పేరు మార్చేటప్పుడు లేదా సారూప్య పేర్లతో ఫైల్లపై ఆపరేషన్లు చేస్తున్నప్పుడు.