பாஷ் டெர்மினல் பிழையை எவ்வாறு சரிசெய்வது: “பாஷ்: எதிர்பாராத டோக்கனுக்கு அருகில் தொடரியல் பிழை ‘நியூலைன்’

Pas Terminal Pilaiyai Evvaru Cariceyvatu Pas Etirparata Tokkanukku Arukil Totariyal Pilai Niyulain



பாஷ் ஸ்கிரிப்டுடன் பணிபுரியும் போது, ​​எதிர்பாராத டோக்கன் 'புதிய வரி' பிழையை நீங்கள் சந்திக்கலாம், இது உங்கள் ஸ்கிரிப்ட்டின் செயல்பாட்டை பாதிக்கிறது. இந்த பிழையைப் புரிந்துகொள்வது அதைத் தீர்ப்பதற்கான முதல் படியாகும். இந்த பிழை பற்றிய அனைத்தையும் இந்த இடுகை விவாதிக்கிறது. அதைத் தூண்டுவது என்ன என்பதையும், அதை மீண்டும் சந்திப்பதைத் தவிர்க்க அதை எவ்வாறு தீர்க்க வேண்டும் என்பதையும் நாங்கள் புரிந்துகொள்வோம். ஆரம்பித்துவிடுவோம்!

பாஷ் என்றால் என்ன: எதிர்பாராத டோக்கன் 'புதிய வரி'க்கு அருகில் தொடரியல் பிழை

பாஷ் ஸ்கிரிப்டை இயக்கும் போது, ​​பல்வேறு காரணங்களால் எதிர்பாராத டோக்கன் 'புதிய வரி' பிழையை நீங்கள் சந்திக்க நேரிடலாம். உங்கள் ஸ்கிரிப்ட் அல்லது உள்ளீட்டில் எதிர்பாராத எழுத்துகளை Bash கண்டறியும் போது இந்தப் பிழை ஏற்படுகிறது.

நீங்கள் இந்தப் பிழையை எதிர்கொண்டால், உங்கள் ஸ்கிரிப்ட்டில் உள்ள தொடரியல் பிழை அதற்குக் காரணமாகிறது. பிழை ஏற்படக்கூடிய வெவ்வேறு நிகழ்வுகளை வழங்குவோம், மேலும் பிழையை சரிசெய்வதற்கு அதை எவ்வாறு தீர்ப்பது என்பதைப் பார்ப்போம். பின்வரும் உதாரணங்களைப் பாருங்கள்.







எடுத்துக்காட்டு 1: மேற்கோள் காட்டப்படாத கோண அடைப்புக்குறிகள்

பாஷ் ஸ்கிரிப்டை எழுதும் போது உங்கள் குறியீட்டில் நீங்கள் பயன்படுத்தும் எந்த கோண அடைப்புக்குறிகளையும் மேற்கோள் காட்டுங்கள். அப்போதுதான் பாஷ் அதை ஒரு கோண அடைப்புக்குறியாக வாசிப்பார். இல்லையெனில், இது எதிர்பாராத டோக்கன் 'புதிய வரி' பிழையை எழுப்புகிறது.



பின்வரும் படத்தில், முனையத்தில் ஒரு பாஷ் ஸ்கிரிப்டை இயக்க முயற்சித்தோம், மேலும் தொடரியல் பிழை பின்வருமாறு கிடைத்தது:







அத்தகைய பிழையை எதிர்கொள்ளும் போது முதலில் செய்ய வேண்டியது உரை திருத்தியைப் பயன்படுத்தி உங்கள் ஸ்கிரிப்டைத் திறக்க வேண்டும். இந்த வழக்கில் நானோ எடிட்டரைப் பயன்படுத்துகிறோம்.



நீங்கள் ஸ்கிரிப்டைத் திறக்கும்போது, ​​மேற்கோள் காட்டப்படாத கோண அடைப்புக்குறிகளைக் கொண்டிருக்கும் குறியீட்டைத் தேடுங்கள். இது பிழையின் முக்கிய காரணம். முந்தைய படத்தில், எங்கள் str மாறியில் மேற்கோள் காட்டப்படாத சரம் இருப்பதைக் காணலாம், அதுவே தொடரியல் பிழைக்கான காரணம். கீழே காட்டப்பட்டுள்ளபடி மேற்கோள் காட்டுவதன் மூலம் இந்த பிழையை நீங்கள் சரிசெய்யலாம்:

பாஷ் எதிர்பார்த்தபடி அதை மேற்கோள் காட்டி, அதே ஸ்கிரிப்டை மீண்டும் இயக்கினால், ஸ்கிரிப்டை வெற்றிகரமாக இயக்க முடியும்.

எடுத்துக்காட்டு 2: பாஷ் கட்டளை வரி அளவுருக்களில் கோண அடைப்புக்குறிகளைப் பயன்படுத்துதல்

ஸ்கிரிப்ட்டில் உள்ள அளவுருவில் வாதங்களாகப் பயன்படுத்த பயனரிடமிருந்து உள்ளீட்டைப் பயன்படுத்தும் பாஷ் ஸ்கிரிப்ட் உங்களிடம் இருக்கும்போது, ​​​​கோண அடைப்புக்குறிகளை மேற்கோள் காட்டாமல் சேர்ப்பது எதிர்பாராத டோக்கன் 'புதிய வரி' பிழையை எழுப்புகிறது.

கோண அடைப்புக்குறிகளைக் கொண்ட ஒரு வாதத்தை நீங்கள் சேர்க்க விரும்பினால், அதை மேற்கோள் காட்டுவதை உறுதிசெய்யவும். நாம் பாஷ் ஸ்கிரிப்டைத் திறந்தால், பிழையின் மூலத்தைக் கண்டறிய தொடரியலைச் சரிபார்க்கலாம்.

முந்தைய ஸ்கிரிப்ட் குறியீட்டில், பயனர் உள்ளீட்டிலிருந்து வாதங்களை ஏற்றுக்கொள்கிறோம் என்பதைக் காணலாம். எனவே, ஸ்கிரிப்டை இயக்கும்போது, ​​​​நாம் செய்ததைப் போலவே வாதங்களைச் சேர்க்க வேண்டும், இதனால் தொடரியல் பிழை தோன்றும். பயனர் உள்ளீட்டில், நாம் இரண்டாவது வாதத்தில் ஒரு கோண அடைப்புக்குறியை உள்ளிட்டதைக் கவனிக்கிறோம், இது பாஷ் தொடரியல் பிழையை எழுப்புகிறது.

இருப்பினும், கோண அடைப்புக்குறியை மேற்கோள் காட்டி அதை மீண்டும் உள்ளிட்டால், பிழைகள் இல்லாமல் பாஷ் ஸ்கிரிப்டை வெற்றிகரமாக இயக்குவோம்.

வெளியீட்டில், கோண அடைப்புக்குறிகளை மேற்கோள் காட்டிய பிறகு, ஸ்கிரிப்ட்டின் படி டெர்மினலில் அவற்றை அச்சிட முடிந்தது.

எனவே, நீங்கள் எதிர்பாராத டோக்கனுக்கு அருகில் 'Bash: தொடரியல் பிழை' 'புதிய வரி' பிழையைப் பெற்றால், பிழை எங்குள்ளது என்பதைத் தீர்மானிக்க உங்கள் ஸ்கிரிப்டில் உள்ள குறியீட்டைச் சரிபார்த்து தொடங்கவும். மேலும், உங்கள் குறியீட்டில் அளவுருக்கள் உள்ளதா மற்றும் உங்கள் டெர்மினலில் நீங்கள் உள்ளிடும் வாதத்தில் பிழை ஏற்பட்டதா எனச் சரிபார்க்கவும்.

முடிவுரை

இரண்டு முக்கிய காரணங்களால் பாஷ் ஸ்கிரிப்டுடன் பணிபுரியும் போது 'Bash: தொடரியல் பிழை எதிர்பாராத டோக்கன் 'புதிய வரி'யை நீங்கள் சந்திக்கலாம்: நீங்கள் கோண அடைப்புக்குறிகளை மேற்கோள் காட்டாமல் இருக்கலாம். இருப்பினும், உங்கள் வாதத்தில் பிழை இருக்கலாம். இந்த இரண்டு காரணங்கள் மற்றும் பிழையை எவ்வாறு சரிசெய்வது என்பதை இந்த இடுகை விரிவாக விவரிக்கிறது.