దోష సందేశం Unexpected హించని టోకెన్ దగ్గర వాక్యనిర్మాణ లోపం `(‘ యునిక్స్-రకం వాతావరణంలో, సిగ్విన్ మరియు విండోస్లోని కమాండ్-లైన్ ఇంటర్ఫేస్లో సంభవిస్తుంది. మీరు పాత DOS / Windows లేదా Mac సిస్టమ్లలో సవరించిన లేదా సృష్టించబడిన షెల్ స్క్రిప్ట్ను అమలు చేయడానికి ప్రయత్నించినప్పుడు ఈ లోపం చాలావరకు ప్రేరేపించబడుతుంది.
Unexpected హించని టోకెన్ దగ్గర సింటాక్స్ లోపం `(‘
ఫైళ్ళను మాన్యువల్గా కాపీ చేయడం వంటి రోజువారీ పనుల కోసం మీరు లైనక్స్ కమాండ్ లైన్లో ఆదేశాలను ఎంటర్ చేస్తున్నప్పుడు కూడా ఈ దోష సందేశం కనిపిస్తుంది. ఈ దోష సందేశం రావడానికి ప్రధాన కారణాలు చెడు వాక్యనిర్మాణం లేదా మరొక సిస్టమ్ యొక్క ఆదేశాలను వివరించడంలో OS యొక్క సమస్య /. షెల్.
Unexpected హించని టోకెన్ దగ్గర సింటాక్స్ లోపానికి కారణమేమిటి `(‘?
ఈ దోష సందేశానికి కారణాలు చాలా వైవిధ్యమైనవి మరియు ఆదేశాలను అమలు చేసేటప్పుడు సింటాక్స్ తప్పుగా మారే అవకాశాలు వేల సంఖ్యలో ఉన్నందున ఒక వ్యాసంలో జాబితా చేయలేము. ఈ లోపానికి ప్రధాన కారణాలు:
- చెడ్డ వాక్యనిర్మాణం ఏదైనా ఆదేశాన్ని ఏదైనా ప్లాట్ఫామ్లో అమలు చేస్తున్నప్పుడు. మీరు ఆదేశాన్ని సరిగ్గా ఉపయోగించడం లేదు లేదా తప్పు వాక్యనిర్మాణాన్ని నమోదు చేసారు.
- షెల్ కాదు అనుకూలంగా యునిక్స్ / డాస్ సిస్టమ్స్ మధ్య.
- నుండి బాష్ షెల్ స్క్రిప్ట్ను అమలు చేయడంలో సమస్యలు ఉన్నాయి మరొక మూలం .
ఈ వ్యాసంలో, కోడింగ్ యొక్క ప్రాథమికాలు మీకు తెలుసని మరియు మీరు ఏమి చేస్తున్నారో ఒక ఆలోచన ఉందని మేము అనుకుంటాము. మీరు ఒక అనుభవశూన్యుడు అయితే, మీరు అమలు చేయడానికి ప్రయత్నిస్తున్న భాష / ఆదేశం యొక్క లోతైన ట్యుటోరియల్లను అనుసరించడం మంచిది. మీరు బహుశా కొన్ని వాక్యనిర్మాణం యొక్క పొరపాటు చేసి ఉండవచ్చు.
పరిష్కారం 1: సింటాక్స్ మరియు ఆదేశాల ఆకృతిని తనిఖీ చేస్తోంది
మీరు ఈ దోష సందేశాన్ని అనుభవించడానికి మొదటి మరియు ప్రధాన కారణం మీ కోడ్లోని చెడు వాక్యనిర్మాణం లేదా మీరు ఆదేశాల యొక్క ఖచ్చితమైన ఆకృతిని పాటించకపోవడం. ప్రతి ఆదేశానికి ముందే నిర్వచించిన ఆకృతి ఉంది, దాని డాక్యుమెంటేషన్లో మీరు చూడవచ్చు. అనేక పారామితులు ఐచ్ఛికం, ఇతరులు తప్పనిసరి.
ఇంకా, అదనపు జాగ్రత్తలు తీసుకోవాలి అదనపు స్థలం , ఉపయోగం డబుల్ కోట్స్ , ఇంకా తప్పనిసరి పారామితులు అవసరం. వాటిలో ఏవైనా తప్పిపోయినట్లయితే లేదా తప్పుగా ప్రకటించబడితే, మీరు మీ కోడ్ను అమలు చేయలేరు.
ఉదాహరణకు, కింది కోడ్కు బదులుగా
[mycom7] # ./ctopo.sh um_test1 [(1,2), (2,1)]
మీరు దీన్ని అమలు చేయాలి
[mycom7] # ./ctopo.sh um_test1 '[(1,2), (2,1)]'
అలాగే, మీ ఆదేశాలు / షెల్ స్క్రిప్ట్ అనేక పంక్తులలో విస్తరించి ఉంటే దాన్ని సరిగ్గా అమలు చేస్తున్నారని నిర్ధారించుకోండి.
పారామితి రకం కారణంగా, డబుల్ కోట్స్ అవసరం. అదనపు స్థలం మీ కోడ్ను నాశనం చేస్తుంది మరియు దోష సందేశాన్ని బలవంతం చేస్తుంది. మీరు తనిఖీ చేశారని నిర్ధారించుకోండి అధికారిక డాక్యుమెంటేషన్ మీరు అమలు చేస్తున్న ఆదేశం మరియు అక్కడ సమస్య ఉందో లేదో చూడండి.
పరిష్కారం 2: మీ షెల్ స్క్రిప్ట్ను పరిష్కరించుకోండి
సోర్స్ సిస్టమ్లో పనిచేసే షెల్ స్క్రిప్ట్ను ఉపయోగిస్తుంటే, లక్ష్యంలో లోపాన్ని తిరిగి ఇస్తే, అమలు సమయంలో నిల్వ చేయబడిన వేరియబుల్స్ను తనిఖీ చేయడం ద్వారా మీరు స్క్రిప్ట్ను ట్రబుల్షూట్ చేయవచ్చు మరియు ఆపై సమస్యకు కారణం ఏమిటో చూడండి. ఇది చాలా సాధారణ కారణం, అనేక సందర్భాల్లో, షెల్ ముద్రించలేని పాత్రను అర్థం చేసుకోవడానికి ప్రయత్నిస్తుంది.
‘Vx’ యొక్క పరామితితో షెల్ను అమలు చేయడానికి ప్రయత్నించండి. స్క్రిప్ట్లో ఏ ఆదేశాలు నడుస్తున్నాయో మరియు ఏ విలువలు నిల్వ చేయబడుతున్నాయో ఇది మాకు చూపుతుంది. ఇక్కడ మీరు ట్రబుల్షూట్ చేయవచ్చు మరియు తప్పు ఏమి జరుగుతుందో నిర్ధారించవచ్చు.
ఉదాహరణకు, ‘vx’ ను ఇలా చేర్చిన తర్వాత టెర్మినల్లో స్క్రిప్ట్ను అమలు చేయండి:
# sh -vx ./test_script5.sh
మీరు ‘cat’ ఆదేశాన్ని ఉపయోగించి స్క్రిప్ట్ యొక్క విషయాలను ఇలా తనిఖీ చేయవచ్చు:
# పిల్లి test_script5.sh
పరిష్కారం 3: ‘dos2unix.exe’ ఆదేశాన్ని ఉపయోగించడం
విండోస్ / డాస్ టెక్స్ట్ ఫైళ్ళలో, కొత్త లైన్ అనేది క్యారేజ్ రిటర్న్ ( r) కలయిక, తరువాత లైన్ ఫీడ్ ( n). Mac లో (Mac OS X కి ముందు), ఒక లైన్ బ్రేక్ సాధారణ క్యారేజ్ రిటర్న్ ( r) ను ఉపయోగించింది. యునిక్స్ / లైనక్స్ మరియు మాక్ ఓఎస్ ఎక్స్ లైన్ ఫీడ్ ( n) లైన్ బ్రేక్లను ఉపయోగిస్తాయి. మీరు సిగ్విన్ ఉపయోగిస్తుంటే, అదనపు క్యారేజ్ రిటర్న్ ( r) అక్షరం కారణంగా DOS / Windows మరియు పాత మాక్ చేసిన స్క్రిప్ట్లను ప్రాసెస్ చేయడంలో ఇది విఫలమవుతుంది.
‘Dos2unix.exe’ ఆదేశాన్ని ఉపయోగిస్తోంది
ఇక్కడ మీరు ‘dos2unix.exe’ కమాండ్ను తయారు చేయవచ్చు, ఇది స్క్రిప్ట్ను సరైన ఫార్మాట్కు మారుస్తుంది మరియు మీరు దాన్ని ఎటువంటి సమస్యలు లేకుండా అమలు చేయవచ్చు.
తీర్మానించడానికి, మీరు ఉపయోగిస్తున్న మీ ఆదేశాలు మరియు ప్లాట్ఫారమ్ రకాన్ని మీరు పరిశోధించాలి మరియు ఏవైనా వ్యత్యాసాలు లేవని నిర్ధారించుకోండి. మేము ప్రతి అవకాశాన్ని కవర్ చేయలేము కాబట్టి, ఏ రకమైన లోపాలు సంభవించవచ్చో మరియు వాటిని ఎలా పరిష్కరించాలో మీకు ఒక ఆలోచన ఉంటుంది.
3 నిమిషాలు చదవండి