[సెమినార్ - Unix షెల్స్, ఎన్విరాన్మెంట్స్] [డగ్లస్ క్లైన్ - హార్వర్డ్ యూనివర్శిటీ] [ఈ CS50 ఉంది. - CS50.TV] నేటి అంశం Unix షెల్ ఉంది. నేను డగ్లస్ క్లైన్, నిపుణుడు, లేదా షెల్ కనీసం సహేతుక వాడకందారు, ఉన్నాను. ఒక షెల్ కంప్యూటర్ యొక్క ఆపరేటింగ్ సిస్టమ్కు యూజర్ కోసం యింటర్ఫేస్. పేరు, ఒక జంతువు యొక్క షెల్ కాకుండా తప్పుద్రోవ ఉంది హార్డ్ మరియు రక్షణ ఇది కంప్యూటర్ షెల్ కమ్యూనికేషన్ కోసం అనుమతిస్తుంది. కాబట్టి పోరస్ పొర బహుశా మెరుగైన రూపకం ఉంటుంది. Unix కోసం అసలు షెల్ బోర్న్ షెల్ ఉంది. బోర్న్ B-O-U-R-N-E ఉన్నట్లు. బోర్న్, Unix యొక్క అసలు రచయితలలో ఒకరు అందువలన షెల్ అతని పేరు పెట్టారు. ఒక ఆదేశం ఆ షెల్ యొక్క పేరును కేవలం sh ఉంది. మీరు అమలు చెయ్యవచ్చు కమాండ్ ఉంది. షెల్ లాగిన్ మొదలవుతుంది. మీరు కంప్యూటర్కు లాగిన్ చేసినప్పుడు, షెల్ కేవలం, మీరు అమలు మొదలవుతుంది మరియు మీ ఆదేశాలను పడుతుంది ఏమి. ఇది కూడా ఇతర సమయాల్లో ప్రారంభించవచ్చు. మీరు ఏ ఇతర సూచన ఒక విండో తీసుకుని ఉంటే, మీరు కోసం ఒక షెల్ ప్రారంభమౌతుంది. అది మీరు ఒక విండో వెళ్లి కమాండ్లను టైప్ చెయ్యవచ్చు ఎంత ఉంది మొదలగునవి అక్కడ మీరు విండోలో లాగిన్ లేదు అయినప్పటికీ. అదనంగా, మీరు ఒక రిమోట్ లాగిన్ లేకపోతే, అది రిమోట్ కంప్యూటర్లో షెల్ ప్రారంభమౌతుంది. మరియు అది ఒక ఇంటరాక్టివ్ షెల్ లేకుండా ఆదేశాలను అమలు అవుతుంది. మీ ప్రస్తుత ఆపరేషన్ లోపల అర్థం, మరియు అది కూడా ఒక రిమోట్ ఆపరేషన్ అర్థం. మీరు మరొక కంప్యూటర్కు కమాండ్ పంపవచ్చు, ఇది అక్కడ ఒక షెల్ ప్రారంభమై కలిగి. నిజానికి, అది షెల్ ప్రారంభమై ఉన్నాయి ఉంటుంది మీ అంతిమ ఉద్దేశ్యము లేదు కూడా. ఏదో ఈ వంటి ప్రారంభించబడుతున్నప్పుడు, అది తప్పనిసరిగా ఒక కొత్త షెల్ మొదలు లేదు. మీరు ఒక కొత్త విండోను తీసుకురావటానికి, అది ఒక ఎడిటర్ తీసుకురావటానికి చెప్పడం అవకాశం లేదా కొన్ని ఇతర ఆదేశం. ఆ సందర్భంలో, ఎడిటర్ మొదటి నుండి ప్రారంభమౌతుంది. ఎడిటర్ ముగిసిపోయినప్పుడు, విండో ముగుస్తుంది. ఈ ఒక చిన్న అసాధారణ కానీ చేయవచ్చు. ఆ సందర్భాల్లో, ఇది షెల్ ఉండదు. కనుక ఇది తప్పనిసరిగా ఒక విండో లేదా కొన్ని అప్లికేషన్ షెల్ అప్ కలిగించే విషయంలో కాదు. షెల్ ఆదేశాలు కావలసిన విధంగా విభజిస్తుంది. పార్సింగ్ వివిధ అంశాలను వాటిని గుర్తించడం మరియు వర్గీకరించడం అర్థం. ఒక కమాండ్ లోపల, మీరు టైప్ పూర్తి స్ట్రింగ్, అమలుపరచటం 1 లేదా ఎక్కువ ఒకే ఆదేశాలను ఉంటుంది. ఇతర అంశాలు వాదనలు ఉంటుంది. కూడా ఒక ఆదేశం అమలు ప్రభావితం ప్రత్యేక అక్షరాలు ఉన్నాయి ఉంటుంది. వారు తెర కంటే ఎక్కడో ఇతర అవుట్పుట్ పంపవచ్చు కమాండ్ సాధారణంగా స్క్రీన్ కు పంపుతుంది ఉంటే. ఇది ఇన్పుట్ దారిమార్పు చేయవచ్చు; అది కూడా ఇతర చేయవచ్చు. మొదలగునవి వివిధ ఇతర చిహ్నాలు, అక్షరాలు, మరియు ఉన్నాయి. పార్సింగ్ ఆ విషయాలు గుర్తించేందుకు మరియు వివరించడంలో ఉంటుంది. ఇప్పుడు ఎక్కువ మంది నుండి కాకుండా అవకాశం ఉంది ఎక్కువ ప్రశ్నలు ఉన్నాయి ఉంటే, మేము ఇక్కడ నా తదుపరి పేజీకి వెళ్తుంది. నేను బోర్న్ షెల్ ప్రారంభ షెల్ అని ముందు చెప్పారు. ఇతరులు ఉన్నాయి. ఒకటి C-షెల్ ఉంది. కమాండ్ CSH ఉంది. పేరు C-shell పదాలు కేవలం ఒక నాటకం. ఇది షెల్ మధ్య 1970 లో బర్కిలీ Unix తో పరిచయం చేశారు. బర్కిలీ Unix Unix అభివృద్ధిలో సెమినాల్ సంఘటన. ఇది ఒక భారీ విప్లవం మరియు ఈ షెల్ ప్రవేశం. పదాలు ఆ నాటకం కారణం, C-shell, , సి-shell C భాష ప్రతిబింబించే ఇది కొన్ని లక్షణాలను కలిగి ఉంది ఇది బోర్న్ షెల్ లేదు - లేదా ఆ సమయంలో లేదు. TC-షెల్ ఉంది. ఈ C-shell యొక్క సూపర్ సెట్. ఇది, ఇంటరాక్టివ్ ఉపయోగం ఉపయోగకరం వీటిలో చాలా అదనపు లక్షణాలు ఉన్నాయి ఇటువంటి, చరిత్ర విధానం లో ఆదేశాలను గుర్తుచేసే వంటి నేను కొంతవరకు తరువాత వివరించడానికి చేస్తాము - ఒక సాధారణ పద్ధతిలో, ఒక ఎడిటర్ పోలి. ఇది మీరు ఒక పొడవైన ఆదేశం ఒక చిన్న కీ స్ట్రింగ్ కట్టుబడి అనుమతించే బైండింగ్స్ ఉంది. మేము ఈ రోజు ఆ వెళ్ళడం కావడం లేదు. ఇది కార్యక్రమాలను ఉపయోగపడతాయి కొన్ని లక్షణాలను కలిగి. అయితే, C-షెల్ తరచుగా షెల్ ప్రోగ్రామింగ్ కోసం కాదు. షెల్ కార్యక్రమాలు, మీరు ఇప్పటికే తెలియదు ఉంటే, షెల్ లక్షణాలు ఉంటాయి ప్రోగ్రామ్లు. మీరు కార్యక్రమాలు ఈ అమలు కాలేదు. మీరు ఒక ఫైల్ లోకి షెల్ ఆదేశాల బంచ్ వ్రాసి ఫైలు అమలు. మీరు అవసరం ఇది కంపైల్ లేదు. ఈ ఒక వ్యాఖ్యాన భాష. ఇది అసలు C-shell, CSH మాత్రమే సూచిస్తాయి ఉండవచ్చు నుండి పదబంధం C-shell, ఇప్పుడు సందేహాస్పదంగా ఉంది లేదా tcsh సహా అన్ని C పెంకులు, కు. ఇది కొద్దిగా అస్పష్ట. ఒక తరువాత షెల్ ప్రోగ్రామర్ పెట్టారు కార్న్ SHELL, KSH, కార్న్ ఉంది. ఇది షెల్ 1 షెల్ పొందుపరచాలనుకున్నారు ప్రయత్నించారు ఇంటరాక్టివ్ ఉపయోగం కోసం C-shell యొక్క ప్రయోజనాలు మరియు బోర్న్ ప్రోగ్రామింగ్ కోసం షెల్. మైనారిటీ - ఇది కొన్ని ప్రజలు ఒక ఇంటరాక్టివ్ షెల్ ఉపయోగించబడింది. తరువాత, మరొక పరిచయం ఉంది, బాష్ షెల్, హాస్టళ్లు, మళ్ళీ పదాలతో ఆట, బోర్న్ తిరిగి షెల్. ఇది బోర్న్ షెల్ పొడిగింపు ఉంది. కార్న్ షెల్ ఉంది. రెండూ ఉంటాయి. ఇది విలీనం యొక్క కార్న్ షెల్ అదే లక్ష్యాలు సి-షెల్ 1 షెల్ లో మరియు బోర్న్ షెల్ యొక్క ప్రయోజనాలు. కార్న్ షెల్ అభివృద్ధులు చాలా కూడా బాష్ చేర్చబడ్డాయి. బాష్, అయితే, మరింత ఉంది మరియు ప్రాధాన్యత. బోర్న్ తిరిగి Shell మరియు Korn shell బోర్న్-రకం పెంకులు అంటారు వారు బోర్న్ షెల్ యొక్క లక్షణాలు ఉన్నాయి ఎందుకంటే, సి-గుండ్లు కొన్ని అంశాలలో విరుద్ధంగా ఇది. ఆ, కొన్ని నిరోధిత రాకపోకల పాటు ఇతర పెంకులు, ఉన్నాయి బహుశా కొన్ని ఆదేశాలను పరిమితం, బహుశా ప్రత్యేక ప్రయోజనాల, తరచుగా ఉపయోగించరు. సరే >>. ఇక్కడ తదుపరి అంశం. బాష్ షెల్ Linux వివిధ రకాల ముడిపడింది. నేను ఆ ప్రతి రూపం యొక్క నిజం ఉంటే ఖచ్చితంగా తెలియదు. , అనేక రకాల అక్కడ ఉన్నాయి మరియు నేను వాటిని అన్ని ఉపయోగించలేదు కానీ నేను ఉపయోగించారు ఆ లో అది ముడిపడింది. కాబట్టి నాకు తెలిసిన, బాష్ గురించి ఏమీ లేదు Linux తో ఏ అనుకూలంగా చేస్తుంది షెల్ మరియు ఆపరేటింగ్ వ్యవస్థను ఇతర కలయిక కంటే. నేను ఈ బహుశా ప్రోగ్రామర్లు inclinations ప్రతిబింబిస్తుంది అనుకుంటున్నాను. ఇది Linux ముడిపడింది సమాధానానికి మార్కుల్లో కు బాష్ ఇష్టపడతారు మరొక కారణం అని విషయాలు అది రాసిన అవకాశం మరియు వ్యాపించదు నుండి. నేను తరువాత మీరు ఆ కోసం ఇతర కారణాల ఇస్తాము. బోర్న్ షెల్ స్క్రిప్ట్లను కార్న్ SHELL లేదా బాష్ కింద అమలు చేయాలి. మీరు బోర్న్ షెల్ కోసం ఏదో వ్రాస్తే, మీరు బహుశా KSH లేదా బాష్ క్రింద అమలు చెయ్యవచ్చు. కార్న్ షెల్ స్క్రిప్ట్లను బహుశా బాష్ కింద అమలు, కానీ నేను హామీ కాదు. తరువాత ఇక్కడ, C-షెల్ స్క్రిప్ట్లను TC-షెల్ కింద అమలు చేయాలి. సి-shell నిజానికి విస్తృతంగా స్క్రిప్టింగ్ కోసం దాన్ని ఎప్పుడూ బోర్న్ SHELL మరియు తరువాత బోర్న్-రకం పెంకులు ఆ పనికి ప్రాధాన్యత వారు. కాబట్టి ఆ నిజంగా ఆ ముఖ్యమైనది కాదు. కాలం క్రితం వ్రాయబడ్డాయి బోర్న్ షెల్ స్క్రిప్ట్లను చాలా ఉన్నాయి కార్న్ SHELL లేదా బోర్న్ తిరిగి షెల్ ముందు ప్రవేశపెట్టబడ్డాయి. ఆ, వాడుకలో ఆపరేటింగ్ వ్యవస్థలు భాగంగా ఉన్నాయి, మీరు ఆపరేటింగ్ సిస్టమ్ లోకి చూస్తే కాబట్టి మీరు వాటిని కనుగొంటారు లేదా కొన్ని పాత ప్రోగ్రామింగ్ ప్యాకేజెస. బాష్ సిస్టమ్లకు సంధాన భాషగా ఒక రకమైన మారింది కొంత వరకు ఉంది. ఇది ఇప్పటికే Windows మరియు VMS విస్తరించింది చెయ్యబడిన. VMS, మీరు తెలియదు సందర్భంలో, ఒక యాజమాన్య కార్యాచరణ వ్యవస్థ ఎక్కువగా తెర వెనుక, వాడుకలో ఇది డిజిటల్ ఎక్విప్మెంట్ కార్పొరేషన్ యొక్క. మరియు అది వివిధ ఆపరేటింగ్ వ్యవస్థల్లో అమలు అవుతున్న చేస్తాడు ఉంటే, అవకాశం ప్రజలు దానిని మార్చేందుకు ఉంటాయి. కానీ ఈ అభివృద్ధి సాపేక్షంగా ఇటీవల. ఇది కేవలం ప్రారంభమైంది, ఈ నిజంగా సంధాన భాషగా ఆ రకమైన పరిణమించవచ్చు ఉంటే ఊహించలేరు. అలాగే, ఫైలు pathnames మరియు లైబ్రరీలను తేడా ఎందుకంటే ఈ వివిధ ఆపరేటింగ్ వ్యవస్థల మధ్య, మీరు ఒక ఆపరేటింగ్ సిస్టమ్ ఒక బాష్ స్క్రిప్ట్ వ్రాయడానికి పోవచ్చును ఆపై మరొక ఒక దీన్ని అమలు. మీరు వివిధ Unix, Linux మధ్య తరలించే ఉండాలి Mac OS ఆపరేటింగ్ వ్యవస్థలు కాని తప్పనిసరిగా Windows లేదా VMS కు. మీరు ఫైల్ పాత్ వివరణలు మార్పు ఉంటుంది, మరియు కొన్ని లైబ్రరీలు భిన్నంగా ఉండవచ్చు, కొన్ని ఆదేశాలను పని విధంగా ప్రభావితం చేసే లేదా ఎలా వాదనలు మరియు వంటి ప్రాసెస్. ఆ పాటు, ఇక్కడ మరొక జాగ్రత్త హామీ లేదు నేను చెప్పిన చేసిన అన్ని వివిధ పెంకులు - బోర్న్ షెల్, C-shell, TC-shell, కార్న్ SHELL, బోర్న్ తిరిగి షెల్ - ఏ Unix కింద అందుబాటులో ఉంటుంది లేదా Linux లేదా Mac OS కంప్యూటర్. వారు కేవలం అక్కడ ఉండకపోవచ్చని. ఇక్కడ హెచ్చరికలు ఒకటి. మీరు విషయాలు ప్రతిచోటా పని చేయాలని ఎందుకంటే, ఇక్కడ ఒక దురదృష్టకరమైన పరిమితి కానీ దురదృష్టవశాత్తు, మీరు ఆ నమ్మలేని. సరే >>. ఇక్కడ తదుపరి. యొక్క మీరు ఒక షెల్ స్క్రిప్టు రాయడానికి కావలసిన సే, షెల్ ఆదేశాలు కలిగి ఒక కార్యక్రమం. మీరు, మీ ఆదేశాలను రాయడానికి ఒక ఫైలు ఉంచటానికి, మరియు ఫైల్ అమలు. మీరు వాదనలు ఉన్నాయి అనుకుంటే? షెల్ కార్యకలాపాలు విషయంలో, వాదనలు పారామితులు లేదా స్థాన పారామితులు అని పిలుస్తారు మరియు వారు ఒక డాలర్ సైన్ మరియు సంఖ్య, $ 1, $ 2 అనే వస్తారు. స్క్రిప్ట్ ఈ పేరు కాబట్టి, నా మొదటి వాదన వాదన 1 కావచ్చు మరియు నా రెండో, వాదన 2 కావచ్చు మరియు నా స్క్రిప్ట్ లోపల నేను ఈ విషయాలు చూడండి అనుకుంటే - నేను నిజంగా అమలు వెళ్ళడం లేదు ఎందుకంటే యొక్క ఈ వేయండి వీలు - నా స్క్రిప్ట్ లోపల నేను ARG1 ఖచ్చితంగా సూచించడానికి $ 1 ఉండవచ్చు, ఆ విధంగా, ARG2 వచ్చిన ఏ $ 2,. కాబట్టి ఆ చిహ్నాలు వాదనలు చూడండి అందుబాటులో ఉన్నాయి, మరియు ఆ పెంకుల వర్తించాలి. అదనంగా, ఇతర పాత్రలు ఉన్నాయి. $ * మొత్తం వాదన జాబితా, వాటిని అన్ని సూచిస్తుంది. $ # వాదనలు సంఖ్య సూచిస్తుంది. మళ్ళీ, ఈ అన్ని పెంకులు వర్తిస్తుంది. ఆ చిహ్నాలు, * మరియు #, ఇతర ప్రదేశాల్లో ఆ అర్థాలతో ఉపయోగించవచ్చు. మేము ఆ వెళ్ళడం కాదు. షెల్ స్పెసిఫయ్యర్ లైన్. కోసం ఆ ఏమిటి? యొక్క మీరు స్క్రిప్ట్ వ్రాయలేదు మరియు ఒక నిర్దిష్ట షెల్ కోసం చెప్పాలి మరియు మీరు అమలు చేయండి. ఎలా మీరు మీ ఆపరేటింగ్ సిస్టమ్ మీ స్క్రిప్ట్ అమలు ఉపయోగిస్తుంది షెల్ ఏమి తెలుసు? ఒక సమయంలో మీరు బోర్న్ షెల్ లో అమలు పొందగలిగింది మీరు లేకపోతే అనలేదు, కానీ ప్రజలు ఇకపై బోర్న్ లో స్క్రిప్ట్స్ ఎక్కువ షెల్ రాయడం లేదు మరియు మీరు కూడా ఇకపై ఆ నమ్మలేని. ఇక్కడ మేము ఇక్కడ ఒక షెల్ స్పెసిఫయ్యర్ లైన్ కలిగి. ఆ బాష్ నిర్దేశిస్తుంది. ఇది పాత్, / bin / bash లో ఇది నిర్దేశించే గమనించండి. ఒక కంప్యూటర్ బాష్ షెల్ అయితే బిన్ డైరెక్టరీలో, / bin, ఈ పనిచేయవు. ఇక్కడ మరో క్వాలిఫైయర్, మరో జాగ్రత్త ఉంది. పౌండ్ సైన్ వ్యాఖ్యను లైన్ పాత్ర. అన్ని పెంకులు వర్తిస్తుంది. ఇక్కడ కేసులో, #! స్క్రిప్ట్ ప్రారంభంలో, ఒక ప్రత్యేక సందర్భంలో. ఆ స్క్రిప్ట్ అమలు దీనిలో షెల్ నిర్దేశిస్తుంది. నేను మాట్లాడుతూ గా, ఒకే స్థానంలో / బిన్ కాదు. అదనంగా, ఇక్కడ మరో విషయం. మీరు ఏ ఆశ్చర్యార్థకం పాయింట్ మరియు పాత్ తో పౌండ్ సైన్ ఉపయోగిస్తే, ఆ C-షెల్ సూచించాలి. నేను ఖచ్చితంగా ఇచ్చే సామర్థ్యం కాదు ఎందుకంటే అయితే, నేను ఆ సిఫార్సు లేదు ఆ ఎల్లప్పుడూ పని చేసే. మీరు C-షెల్, ఇది చెప్పడానికి మంచిదని. ఇక్కడ కాకుండా గందరగోళంగా విషయం ఏదైనా. మీరు / bin / bash ఒక షెల్ స్పెసిఫయ్యర్ లైన్ ఉపయోగిస్తే మరియు ఆ షెల్, ఇక్కడ అందుబాటులో లేదు నిర్దిష్ట కంప్యూటర్లో / bin / bash అనేందుకు, ఉంది గాని అది వేరే ప్రదేశంలో ఎందుకంటే బాష్ లేదా లేదు ఎందుకంటే, మీరు నడిచింది స్క్రిప్ట్ లేదు అని మీరు చెప్పడం లోపం పొందుతారు. మరియు కోర్సు విదంగా ఉంది, కాబట్టి ఆ లోపం సందేశం గందరగోళంగా ఉంది. ఆపరేటింగ్ సిస్టమ్ మీరు ఆ లోపం ఇచ్చే కారణం లేదా, మరింత ఖచ్చితంగా, మీరు ఈ నడుస్తున్నాయి దీనిలో మీ ఇంటరాక్టివ్ షెల్ ఆ లోపం ఇచ్చే, స్క్రిప్ట్ యొక్క పేరు ఇది మీరు ఉపయోగించిన కమాండ్, నివేదికలు ఉంది. ఆ ఆదేశం సమర్థవంతంగా స్క్రిప్ట్ పేరు ద్వారా షెల్ అని. మీరు ఆ గందరగోళంగా ఎర్రర్ మెసేజ్ పేర్కొంది. షెల్ స్క్రిప్టు కాల్ మరొక మార్గం ఇక్కడ, ఆదేశ షెల్ నిర్దేశించి ఉంది. ఈ కమాండ్ ఉంది. ఈ బాష్ అమలు మరియు తరువాత బాష్ లో నా స్క్రిప్టును చెప్పారు. ఒక స్పెసిఫయ్యర్ లైన్ మీద ప్రాధాన్యత పడుతుంది, మరియు ఈ మీరు వివిధ pathnames కోసం అందించడానికి అనుమతిస్తుంది యొక్క లక్షణం ఉంది. మీరు ఒక కమాండ్ ఇవ్వండి, ఆపరేటింగ్ సిస్టమ్ కమాండ్ కోసం చూస్తుంది వివిధ ప్రదేశాల్లో. ఇది అందుబాటులో ఉంటే, అది కనుగొనేందుకు ఉండాలి. కంప్యూటర్ ఉన్న యొక్క అక్కడ బాష్ కనుగొని అమలు, కాబట్టి మీరు ఇది తెలుసుకుంటాడు పేరు గురించి అప్పుడు అవసరం లేదు. సమర్థవంతంగా ఇతర ఆందోళనలు, ఇక్కడ ఉన్నాయి అవకాశం అయితే సాధ్యం ఇది బాష్, కంటే ఎక్కువ 1 వెర్షన్ ఉంది ఉంటే వంటి. కాబట్టి ఈ విషయాలు వ్యవహరించే మరొక మార్గం. స్పెసిఫయ్యర్ పంక్తులు ఏ షెల్ కాల్ చేయవచ్చు. వారు కూడా పెంకులు కంటే ఇతర విషయాలు కాల్ చేయవచ్చు. నేను ఇక్కడ కలిగి ఉదాహరణలు ప్రవాహం ఎడిటర్, కానీ ఉంటాయి; awk, ఇది ఒక నమూనా ప్రాసెసింగ్ భాష; మరియు పెర్ల్, చాలా అధికంగా స్క్రిప్ట్ కోడ్ను. మీరు ప్రారంభంలో ఆ కార్యక్రమాలు ఒకటి సూచిస్తూ ఒక స్పెసిఫయ్యర్ లైన్ ఉంచితే, ఆ కార్యక్రమంలో నేరుగా వెళ్ళి కాకుండా షెల్ ఉంటుంది:. ఆ కార్యక్రమాలు వారి సామర్ధ్యాలు పరిమితిని కలిగి. పెర్ల్ చాలా సామర్ధ్యం కలిగి ఉంటుంది. కానీ ఒక ఎడిటర్. ఇది కేవలం సంకలనం దాటి చేయవచ్చు. కానీ ఆ ప్రోగ్రామ్ కష్టం. అదనంగా, స్క్రిప్ట్ వాదనలు మరియు stuff ప్రయాణిస్తున్న అసాధ్యం లేదా గందరగోళంగా గాని. కాబట్టి ఆ సందర్భాలలో, awk లేదా sed తో, ఇది, కనీసం నా అనుభవం లో, ఉంది ఒక షెల్ స్క్రిప్టు మరియు కాల్ awk రాయడానికి ప్రాధాన్యత లేదా షెల్ స్క్రిప్టు నుండి sed కాకుండా awk కాల్ లేదా స్క్రిప్ట్ స్పెసిఫయ్యర్ లైన్ వంటి sed కంటే. నేను అన్నాడు వంటి పెర్ల్, అధికంగా వైవిధ్యం భాష. మీరు పెర్ల్ లో ఇంటరాక్టివ్ ఆదేశాలను అమలు కాదు, ఇది మీరు అభివృద్ధి చేస్తున్న స్క్రిప్ట్స్ యొక్క భాగాలను పరీక్షించడానికి చేసుకోరాదు యింటరాక్టివ్గా వాటిని అమలు చేసి. అయితే, ఇది అత్యంత సామర్థ్యం భాష మరియు చాలా విస్తృతంగా ఉపయోగించే సాధనం అభివృద్ధి చెందింది. కేవలం స్పెసిఫయ్యర్ పంక్తులు గురించి ఒక చేర్చడం వ్యాఖ్యలపై కొద్దిగా. అన్ని లేదా Linux చాలా సందర్భాలలో - మళ్ళీ, నేను అంతే కొన్ని ఉండకూడదు - మీరు CSH టైప్ మరియు Mac OS లో, మీరు, tcsh పొందండి మరియు మీరు టైప్ మీరు బాష్ ను SH. వారు మీరు ఈ పెంకుల మరింత ఆధునిక వెర్షన్లు రావాలంటే ఉన్నాయి ప్రయత్నిస్తున్న, కానీ ఈ గందరగోళంగా ఉంది. మీరు tcsh ఉపయోగించి స్క్రిప్ట్ రాయడం లేదా కాల్ అయితే బాష్ కలిగి ఉంటే CSH లేదా sh ఆపై, tcsh లేదా బాష్ లేని ఒక కంప్యూటర్లో దీన్ని అమలు ప్రయత్నించండి ఆదేశాలను అక్కడ ఉన్నాయి మీరు కొన్ని లోపాలు ఉండవచ్చు ఇది పెంకులు గుర్తించని. అదనంగా, మీరు మీ స్థానిక కంప్యూటర్లో మీ షెల్ ఆహ్వానించడం ఉండవచ్చు sh లేదా CSH గా పిలుస్తూ ఆపై మరింత ఆధునిక పెంకులు పొందడానికి. మీరు కూడా మీరు మరింత ఆధునిక షెల్ ఉపయోగిస్తున్నట్లయితే వాస్తవం భావిస్తారు కాదు. కాబట్టి ఈ ఒక సమర్థవంతమైన అనుకోని ఆపద ఉంటుంది. ఎలా, మీరు SH టైప్ మీరు బాష్ ను ఏర్పాటు మీరు CSH టైప్ మీరు tsch పొందండి? లింకులు అని ఈ కంప్యూటర్లలో విషయాలు ఉన్నాయి ఇది ఇదే సూచించడానికి ఫైల్కు అనుసంధానించవచ్చు. ఇది గాని ఒకే ఫైల్ లేదా దీని ప్రయోజనం ను సూచించడానికి ఫైలు కోసం 2 పేర్లుగా ఉండవచ్చు. వారు హార్డ్ మరియు సింబాలిక్ లింకులను అని చేస్తున్నారు. మేము ఈ రోజు ఇకపై ఆ లోకి వెళ్ళడం లేదు. 1 ఫైలు sh, 1 ఫైలు బాష్ - - కూడా ప్రత్యేక ఫైళ్లు ఉండవచ్చు కానీ వారు రెండు బాష్ అమలు. అప్పుడు మరొక క్వాలిఫైయర్ ఇక్కడ ఉంది. మీరు ఒక పేరు ద్వారా ఈ గుండ్లు ఒక కాల్ ఉంటే, మీరు మరొక పేరు ద్వారా కాల్ అదే కార్యాచరణ పొంది ఉండవచ్చు. బాగా, వాస్తవానికి అవసరం నిజం కాదు. ఈ ఆదేశాలను అని పిలిచే ద్వారా పేరు పరిశీలించడానికి చేయవచ్చు మరియు వారు, ఆ పేరు ఆధారంగా, భిన్నంగా ప్రవర్తించును చేయవచ్చు. ప్రామాణిక అనుగుణంగా ప్రయత్నిస్తున్న యొక్క సమస్యలు ఉండవచ్చు. మీరు కొన్ని POSIX ప్రామాణిక లేదా మరొక యొక్క విన్న ఉండవచ్చు, బహుశా ఇతర లక్షణాలు. ఈ ఆదేశ పంక్తి వాదనలు ద్వారా కొన్నిసార్లు ఎంపికచేస్తారు లేదా షెల్ వేరియబుల్స్ అమర్చుట ద్వారా. Sh లేదా బాష్ వంటి దీనిని వాస్తవానికి వేరొక అమలు దారితీయవచ్చు మీరు అమలు చేస్తున్న ఒకే ఫైల్ అయినా. పరిగణించడానికి మరొక విషయం, మరొక కంప్యూటర్ కూడా tcsh లేదా బాష్ కలిగి ఉంది వారు మీ స్థానిక కంప్యూటర్లో వారు లింక్ కాకపోతే మీరు ఒక Linux లేదా Mac OS స్థానిక కంప్యూటర్ ఉంటే, అప్పుడు మళ్ళీ మీరు sh లేదా CSH కాల్ షెల్, మీకు కావల్సిన అని ఒక పొందుతారు. ప్రస్తుత బోర్న్ షెల్ తక్కువ బాష్ లో కంటే విస్తరింపులను ఉంది కానీ అసలు బోర్న్ షెల్ లో ఆ గత. ఆ ఫలితంగా, ప్రస్తుత బోర్న్ షెల్, sh, ఇది బాష్ కాదు కూడా, సి-shell కంటే C భాష తలపిస్తుంది. ఆ C-shell మొదటి రూపొందించారు ఉన్నప్పుడు నిజం కాదు, కానీ ఆ విధంగా అభివృద్ధి చేసింది. మీరు ఇక్కడ గమనిస్తారు ఆ బోర్న్ షెల్ మినహా ఈ షెల్ పేర్లు CSH, బాష్ - - వారున్న షెల్ సూచించడానికి ఏదైనా కలిగి కానీ బోర్న్ షెల్ కేవలం sh ఉంది. ఎందుకు? ఆ అసలు వింటున్నడు. ఇది, అప్పుడు షెల్, కాదు ఒక షెల్ ఉంది ఇది షెల్ నుండి మరియు మరొక షెల్ నుండి వేరు ఎటువంటి కారణం ఉంది. ఆ పేరు ఉంది మరియు ఇప్పటికీ చేస్తుంది ఎందుకు కాబట్టి ఆ. ఇక్కడ ఈ టాప్ నేను అక్కడ ఒక ఖాతా కోసం ఒక పాస్వర్డ్ను డేటాబేస్ నుండి ఒక లైన్ ఉంది మరొక కంప్యూటర్లో. నేను మీరు, ముగింపులో షెల్ చూడగలరు, కాబట్టి ఆ పేరు ప్రయత్నించండి వెళుతున్న. పాస్వర్డ్ను డేటాబేస్ వినియోగదారులందరికీ లాగిన్ లక్షణాలు కలిగి. ప్రారంభంలో మీరు ఇప్పుడు గని గత 2 అక్షరాలు చూడగలిగే వాడుకరిపేరు, ఉంది. ఇక్కడ ఖాళీలను కోలన్లతో వేరు. గత రంగంలో, మీరు చూడగలరు గా, బిన్ / tcsh, షెల్ ఉంది. ఆ షెల్ స్పెసిఫయ్యర్ ఉంది. ఇక్కడ ఆసక్తికరమైన విషయం ఏదైనా. Unix మొదటి అభివృద్ధి, కేవలం 1 షెల్ ఉంది, అందువల్ల ఎంపిక ఉంది. ఎందుకు అవి పాస్వర్డ్ను డేటాబేస్ లో ఒక రంగంలో ఒక షెల్ పేర్కొనండి అనుమతిస్తుంది వచ్చింది? నేను తెలియదు, కానీ వాళ్లు అదృష్టం ఉంది. ఇది పాస్వర్డ్ను డేటాబేస్ ఫార్మాట్ మార్పులు చేయడానికి కాకుండా కష్టం అనేక కార్యక్రమాలు దాని ఫార్మాట్ చూడండి ఎందుకంటే మరియు తిరిగి అవవచ్చు. ఇది ఆ రంగంలో చేర్చిన శుభమైన లేదా యాదృచ్ఛిక అభివృద్ధి ఉంది. ఒక పాస్వర్డ్ను ఫైలు లైన్ ఆ రకమైన కాబట్టి నాకు తెలిసిన అన్ని Unix మరియు Linux కంప్యూటర్ల మీద ఉపయోగిస్తారు. Mac దాని స్వంత వ్యవస్థ ఉంది. ఇది వాస్తవానికి, ఆ ఫార్మాట్ పంక్తులు ఒక పాస్వర్డ్ను ఫైలు ఉంది యూజర్ లక్షణాలు నిర్వచించబడివున్నట్లయితే కానీ కాదు. అక్కడ మరో parenthetical వ్యాఖ్య. మీరు షల్ చేస్తున్నారు ఉంటే >>, మీరు ఇప్పటికే ఉన్న మీ పెంకులు ఉప షెల్ గా కాల్ చేయవచ్చు. నేను ఇక్కడ వెళ్ళి ఉంటే, ఈ విషయాలు వదిలించుకోవటం లెట్. ఇక్కడ నేను C-shell ఉన్నాను. ఖచ్చితంగా నా షెల్ గుర్తిస్తుంది ఇది ఆ వేరియబుల్, నిజానికి ఎల్లప్పుడూ మీరు అమలు చేస్తున్నారు షెల్ నిర్ధారించే ఒక విశ్వసనీయమైన మార్గం కాదు, కానీ ఈ విషయంలో ఇది. నేను కేవలం టైప్ - ఇప్పుడు నేను బాష్ ఉన్నాను. కొన్ని విషయాలు అదే ఉంటాయని. ls నా ఆదేశాలను చెబుతుంది. నేను ఒక నా C-shell, ls, అదే సస్పెండ్ లేకపోతే. కుడి? FG, ముందు, తిరిగి నా బాష్ షెల్ కు. తిరిగి C-SHELL pwd, ప్రస్తుత డైరెక్టరీ,. pwd, వివిధ డైరెక్టరీ - ఈ విషయంలో నిజంగా వేరే డైరెక్టరీ. ఇది అదే డైరెక్టరీ ఉంది. యొక్క నేను ఇక్కడ ఒక ఆదేశం కాల్ అనుకుందాం: పేరు ls. ఆ ఏమి చేస్తుంది? Ls కమాండ్ పేరు ఇది, నాకు చెబుతుంది నాకు ఒక డైరెక్టరీ లిస్టింగ్ ఇచ్చే, ls లో ఉన్న. యొక్క తిరిగి బాష్ షెల్ వెళదాం. యొక్క ఇదే ప్రయత్నించండి లెట్. అయ్యో, ఆసక్తికరంగా, పేరు: కమాండ్ దొరకలేదు. ఎందుకు అని? పేరు కమాండ్ సి-SHELL లో నిర్మించబడింది. ఈ ఎక్కడైనా నుండి స్మృతికి లో చదివి అమలు చేయడానికి గల ఒక కమాండ్ కాదు. సి-shell దాని సొంత కోడ్ భాగంగా అమలు బదిలీ ద్వారా నడుస్తుంది మరియు బాష్ షెల్ లో కాదు. కాబట్టి బాష్, ఒక అంతర్నిర్మిత ఆదేశం చేయడంలో, ఇది, ఇది లేనట్లయితే కోసం చూస్తుంది, మరియు మేము లోపం. కాబట్టి అక్కడ మేము C-షెల్ కింద నడుస్తున్న ఒక బాష్ షెల్ కలిగి, మరియు మేము ఒక ఉప షెల్ కాల్. మరియు కేవలం మీరు ఆసక్తిగా సందర్భంలో, బాష్ షెల్ ఆదేశాలు స్థాన దాని స్వంత విధంగా ఉన్నాయి. హాష్ చేసిన, దానిని మరింత వేగంగా అమలు చేయవచ్చు అని సూచిస్తుంది మరింత వేగంగా గుర్తించబడింది. ఈ గుండ్లు కొన్ని కు నిర్మించారు విస్తరింపులను ఒకటి. బోర్న్-రకం పెంకులు ప్రోగ్రామింగ్ కోసం వాడాలి. వారు, ఉచ్చులు ప్రకటించారు వంటి నియంత్రణ నిర్మాణాలు కలిగి మీరు C వంటి ప్రోగ్రామింగ్ భాషలలో ఉపయోగించుకునే ఆ ఆదేశాల విధమైన లేదా ఎలాగైనా భాష. బహుశా మీరు జావా లో ప్రోగ్రామింగ్ లేదా ఎలాగైనా చేస్తున్నారు. షెల్స్ చాలా ఆ కలిగి. బోర్న్-రకం పెంకులు, ముఖ్యంగా బాష్, ఎక్కువ మరియు వారు సౌలభ్యాలతో రూపకల్పన చేస్తారు. బాష్ షెల్ శ్రేణుల ఉంది. అసలు బోర్న్ షెల్ లేదు. కాబట్టి ఆ ప్రోగ్రామింగ్ కోసం గణనీయంగా ప్రయోజనకరంగా ఉంటుంది. సి-shell నిజానికి శ్రేణుల ఉంటుంది, అయితే ఈ ఇతర లక్షణాలు చాలా లేదు. బోర్న్-రకం పెంకులు వేగంగా అమలు చేస్తుంది వారు ఇంటరాక్టివ్ రాకపోకల లక్షణాలు లేకపోతే. మీరు ఒక ప్రయోజనం కోసం విషయాలు డౌన్ లోడ్; ఈ మరొక ప్రయోజనం కోసం వాటిని లోడుచేస్తుంది. ఆ రాజీ ఉంది. ఇంటరాక్టివ్ రాకపోకల అలాంటి లక్షణాలు నిజంగా స్క్రిప్టింగ్ కోసం చిన్న లేదా పనికిరారు. ఇది కేవలం నేను అక్కడ ప్రారంభించారు ఒక వంటి ఒక ఇంటరాక్టివ్ ఉప షెల్ ఉపయోగిస్తారు అవకాశం మీరు స్క్రిప్ట్ లో ఉపయోగించడానికి కోరే ఆదేశాలను పరీక్షించడానికి. మీరు పెర్ల్ తో కాదు ఏమిటి. మీరు పెంకులు తో చేయవచ్చు. మొదలగునవి ఉచ్చులు మరియు కోసం లాంటి నిర్మాణాలు యింటరాక్టివ్గా అమలు చేయవచ్చు. వారు, ఇంటరాక్టివ్ అమలు అప్పుడప్పుడు ఉపయోగపడతాయి కానీ ఎక్కువగా మీరు స్క్రిప్ట్ అభివృద్ధి వాటిని ఉపయోగిస్తున్నారు. మారు. ఈ C-shell గురించి అన్నారు. మీరు తిరిగి ముందు ఆదేశాలు చోటే చరిత్ర విధానం లేదా మీరు ఇప్పటికే వాటిలో కొన్ని భాగాలు అమలు చేసిన. మళ్ళీ, C-shell గురించి, బోర్న్ Shell మరియు Korn shell, ఈ విషయాల్లో కానీ నేను వాటిని పొందడానికి వెళ్ళడం లేదు. ఇక్కడ నేను కలిగి కొన్ని ఉపయోగకరమైన మారుపేర్ల ఉంటాయి. బదులుగా ls టైపింగ్ - ఇది ఒక సాధారణ కమాండ్ ఉంది - కేవలం l టైప్ మరియు మీ 1 పాత్ర సేవ్. వివిధ ఎంపికలు తో ls, అన్ని ఆ పని. ఆ నిర్వచనాలు వాటిని చుట్టూ కోట్ గమనించండి. ఈ సందర్భాలలో, కోట్స్ అవసరమైన కాదు. మీరు కోట్స్ లేకుండా మారుపేర్ల నిర్వచించే, ఇది ఇప్పటికీ పని చేస్తుంది. వారు సిఫార్సు. మీరు కోట్ ఉపయోగించలేరు దీనిలో సందర్భాలలో ఉన్నాయి మీరు కోట్ నిరోధించవచ్చు ఇది జరిగే ఏదో మీరు. కొన్నిసార్లు మీరు నిర్వచనం భాగంగా కోట్ కానీ ఇది అన్ని చేయవచ్చు. ఇది సాధారణంగా సింగిల్ కోట్స్ కాకుండా డబుల్ కోట్స్ ఉపయోగించడానికి మంచిది. డబుల్ కోట్స్ వేరియబుల్ నిర్వచనాలు ప్రభావాలు, ముఖ్యంగా వాటిని కాకుండా ఇది ఆపటం కంటే విశ్లేషించడానికి దీనివల్ల. ఎందుకు మేము అంచనా ఆపడానికి కావాలో? మరియు కోట్స్ మాకు కోసం ఎలా చేస్తారు? ఇక్కడ మీరు ఆసక్తికరమైన కలిగించే ఒక ఆదేశం ఉంది. 'Ls గ్రా *' గ్రా *, మీరు బహుశా తెలిసిన, ఒక వైల్డ్ కార్డు వ్యక్తీకరణ గ్రా ప్రారంభించి అన్ని ఫైల్ పేర్లు. నేను ఒక ఆదేశం ls గ్రా * లో వ్రాయడానికి ఉంటే, నేను నా ప్రస్తుత డైరెక్టరీ అన్ని ఆ పేర్లు జాబితా పొందుతారు. ఇది సూక్తులు ఇక్కడ ఉంది నేను, అలియాస్ నిర్వచించే ఉంటే ఇది మీరు అమలు చేస్తున్నారు పేరు మీ ప్రస్తుత డైరెక్టరీ లో ఆ ఆదేశాన్ని ఉంటుంది. కానీ మీరు కోట్లు లేకుండా అలియాస్ నిర్వచనం అమలు చేస్తే, ఇది నిర్వచన ఆదేశం నడుస్తుంది అది వైల్డ్కార్డ్ గ్రా * అంచనా వేసింది. కాబట్టి అలియాస్ నిర్వచనం ls డైరెక్టరీలో ఫైళ్లు జాబితా తర్వాత ఉంటుంది alias కమాండ్ అమలు దీనిలో, సంబంధం లేకుండా మీరు నిజంగా ఆదేశాన్ని ఉద్దేశం ఇక్కడ యొక్క. ఈ చాలా వాడకం కాదు మరియు సింగిల్ కోట్స్ చుక్క మూల్యాంకనం నిరోధించడానికి. కాబట్టి మీరు * నిర్వచనం ఉండటం ls గ్రా పొందండి. మీరు అలియాస్ అమలు చేసినప్పుడు, గులాబీ మరియు తెలుపు, అది ఎత్తి ఉంచుతుంది. ఇప్పుడు అక్కడ ఏ కోట్లు ఉన్నాయి, మరియు మీరు అలియాస్ ఆదేశాన్ని అది చుక్క అంచనా వేసింది. కాబట్టి ఒక విషయం. డబుల్ కోట్స్, ఇక్కడ అదే ప్రభావం కలిగి కానీ డబుల్ కోట్స్ బాగా పని కాదు, ఇది ఇతర సందర్భాలలో ఉన్నాయి. ఇక్కడ మరొక ఒకటి. మీరు grep ఆదేశం తెలిసిన. grep ఆదేశం కొన్ని తీగలు ఉంటాయి ఇది పంక్తులు కోసం ఒక ఫైల్ స్కాన్ ఉపయోగించవచ్చు. ఇక్కడ వీడలేదు మరియు నా బోర్న్ షెల్ నుండి నిష్క్రమించి చేస్తాము. సరే. ఇక్కడ ఒక ఫైల్. యొక్క ఇది grep abc తీగలను చెప్పాలి. అక్కడ ఇది. నేను grep zddd చేస్తే, నేను ఏమీ. సరే. కనుక ఇది నివేదికలు, ఒక స్ట్రింగ్ తెలుసుకుంటాడు ఇది లేనట్లయితే, అది చేయలేదు. ఇది ఆ స్ట్రింగ్ కలిగి ఏ లైన్ అందిస్తుంది. మీరు డాక్యుమెంటేషన్ కనుగొనవచ్చు ఇక్కడ ఎంపికలు అన్ని రకాల ఉన్నాయి. దీన్ని ఒక మార్గం. ఈ ఒక, అలియాస్ grabc 'grep abc' గురించి? అలియాస్ నిర్వచించబడుతుంది ఆ 1 వాదన చేస్తాడు. కాబట్టి నేను అలా అయితే ఇక్కడ, ఇప్పుడు నేను grabc లేకపోతే, ఇప్పుడు అలియాస్ సాధారణ కమాండ్ కంటే ఎక్కువ ఉన్నాయి. ఇది కూడా వాదన ఉంది. ఇప్పటివరకు ఆ పనిచేస్తుంది. నేను ఇక్కడ మరొక ఆదేశం, ఈ ఒక కలిగి, కాబట్టి ఆ అక్కడ తీగలు ఉంటాయి మరియు అది సరిపోలడం లేదు నుండి ఈ అక్కడ గుర్తించలేకపోయారు చూపించినదాని. నేను అలియాస్ నిర్వచనం నేను అన్వేషణ వెళుతున్న ఫైలు చేర్చాలనుకుంటే మరియు నేను అలియాస్ నేను చూస్తున్నాను ఆ స్ట్రింగ్ ఒక వాదన వంటి ఇవ్వాలని? నేను, నా అలియాస్ కు వాదన వంటి abc చెప్పాలనుకోవడం ఉండవచ్చు కానీ అలియాస్ ఇప్పటికే ఫైలు నిర్ణయిస్తారు. ఈ వ్యక్తీకరణ సైన్ వస్తుంది మరియు ఆ మేము ముందు వంటి grep కలిగి ఇక్కడ గమనించవచ్చు. మేము, ఇక్కడ తీగలను ఫైలు కలిగి. \! ^, రకమైన బేసి వ్యక్తీకరణ, నేను మీరు ముందు ఈ చూడని ఉంటే, అనుకుందాం. ఆశ్యర్యార్థక గుర్తు సి-shell చరిత్రలో భాగంగా ఉంది. గతంలో ఆదేశాలు గుర్తులేవని, అది మొదలైనవి ఆ ఆదేశాలకు వాదనలు గుర్తు మరియు చేయవచ్చు. చరిత్రలో విధానం ఎలియాసింగ్ భాగంగా ఉపయోగిస్తారు. మీరు ఆశ్చర్యార్థకం పాయింట్ తరువాత ఒక లైన్ తెలిపితే, ఇది, చరిత్ర జాబితా లో లైనును సూచిస్తాము అది నిజంగా ఇతర అంశం నుండి మేము ఇప్పుడు వెళ్ళడం చెయ్యలేని. ఇది ఒక లైన్ భాగంగా తెలుపుటకు అవకాశం ఉంది. కాబట్టి! 3:2 ఆదేశం సంఖ్య 3 రెండవ వాదన ఉంటుంది. ఈ ఈ వ్యక్తీకరణ లో caret మొదటి వాదన ఉన్నచో. మీరు మీరు సూచిస్తూ చేస్తున్న ఆదేశం ఇది ఒక సూచన, ఇవ్వాలని లేదు ఉంటే ఇది, వెంటనే మునుపటి ఆదేశం సూచిస్తుంది మరియు caret మొదటి వాదన కోసం గుర్తు. ఇది caret మరియు సంఖ్య ఎందుకంటే, మీరు, పెద్దప్రేగు ఉపయోగించాలి లేదు కాబట్టి! ^ మునుపటి ఆదేశం మొదటి వాదన అర్థం. ఒక చిన్న ఇక్కడ కలపాలి. ఈ సందర్భంలో, మీరు ఒక అలియాస్ నిర్వచనంగా ఈ ఉపయోగిస్తున్నప్పుడు, చరిత్ర సూచన అలియాస్ ఉపయోగిస్తారు దీనిలో ఆదేశాలను తిరిగి సూచిస్తుంది. కాబట్టి ఈ, చరిత్ర ఆపరేషన్ వంటి తిరిగి 1 ఆదేశం అన్నారు కానీ ఒక అలియాస్ ఆపరేషన్ ఇది మీరు టైప్ చేస్తుంది దీనిలో ఆదేశం సూచిస్తుంది, grstrings_file, చెప్పటానికి. మేము ఇక్కడ అది వ్యాఖ్యలను ఉన్నాయి. కోసం బాక్ స్లాష్ ఏమిటి? ఈ సందర్భంలో, మిగిలిన మేము చరిత్ర విధానం అమలు చేయకూడదని అలియాస్ నిర్వచించు అయితే. మేము అక్కడ బాక్ స్లాష్ లేదు ఉంటే, షెల్ మొదటి వాదన లో లాగి ఇది మనం అనుకుంటున్న ఈ alias కమాండ్, నడిచింది కుడి ముందు ఆదేశం యొక్క. మేము ఈ తరువాత వాదనలో కాల్ alias కమాండ్ కు నిర్మించారు అనుకుంటే. సింగిల్ కోట్స్ ఆశ్చర్యార్థకం పాయింట్, చరిత్ర సూచన ఎస్కేప్ లేదు. బహుశా మీరు వ్యక్తీకరణ ఎస్కేప్ ఏదో అర్థం మార్చడానికి అర్థం తెలుసు. ఈ సందర్భంలో, ఇది ఒక ప్రత్యేక అర్థం కలిగి నుండి ఏదో ఆపడానికి అర్థం. ఆశ్యర్యార్థక గుర్తు యొక్క ప్రత్యేక అర్థం చరిత్ర ఉంది. తప్పించుకొని ఆ అర్థం లేదు. వ్యాఖ్యలు అలా లేదు; బాక్ స్లాష్ చేస్తుంది. మేము నిజంగా ఇక్కడ పారిపోయే 2 స్థాయిలు ఉపయోగిస్తున్నారు. నేను టైప్ లేకుండా ఇతర విండోలోకి ఈ ఆదేశం తరలించడానికి వెళుతున్న ఈ లు ఉపయోగించి, మీరు ఉపయోగకరమైన కనుగొనవచ్చు. ఇక్కడ ఏదో నేను మీకు చూపిస్తాను. మీరు ఏ వాదనలు తో అలియాస్ టైప్ అది మీరు అన్ని మీ వాదనలు చెబుతుంది. ఈ నేను ఇప్పటికే ఇక్కడ కలిగి మారుపేర్ల ఒక సమూహం ఉంది నేను ఈ రోజు ఇక్కడ ఉపయోగిస్తున్నామని ఆ పాటు. నేను ఒక అలియాస్ పేరుతో టైప్ అయితే, అది అర్థం ఏమి నాకు చెబుతుంది. కోట్స్ పోయాయి మరియు బాక్ స్లాష్ పారిపోయిన ఆ నోటీసు. ఇక్కడ ఈ స్ట్రింగ్ అలియాస్ నిర్వచనం యొక్క ఫలితం, మరియు ఇప్పుడు అది కేవలం ఉంది! ^ అది లో. ఈ ఏదైనా ఫైల్ తీగలను లో చూడండి అన్నారు. నేను grstrings_file తీగలను కాబట్టి, నేను, అది కోసం చూడండి ఏదైనా ఇవ్వాలని లేదు కాని అది తీగలను లో ఆరాటపడుతుంది. ఇది ఫైల్ తీగలను లో పదం తీగలను కనుగొనలేదు, కానీ abc కనుగొనేందుకు లేదు. మరియు దానిని కనుగొనేందుకు లేదు. కాబట్టి ఇక్కడ అలియాస్ నిర్వచనం హిట్స్ ఒక వాదన ఇస్తున్నారు, అది చేర్చబడుతుంది. ఈ వ్యక్తీకరణ నుండి వస్తుంది ఇది. మీరు కంటే ఎక్కువ 1 ఉపయోగించవచ్చు. caret మొదటి వాదన కోసం గుర్తు. మీరు రెండవ వాదన కోరుకుంటే, మీరు చెబుతారు: 2. రెండవ వాదన కోసం ఏ ప్రత్యేక చిహ్నం ఉంది. మీరు ఒక సంఖ్యా ఉపయోగించే ఎందుకంటే, మీరు పెద్దప్రేగు ఉపయోగించడానికి వుంటుంది. ఇక్కడ మరొక ఎంపిక, అయితే, ఉంది. డాలర్ సైన్ చివరి వాదన ఉన్నచో. ఈ గుర్తు ఎందుకంటే మరియు, మీరు పెద్దప్రేగు వదిలివేయు చేయవచ్చు. కాబట్టి అది జాబితాలో చివరి వాదన ఉంటుంది. మరియు ఒక కూడా ఉంది. , Asterisk అన్ని అంటే, ఈ పూర్తి వాదన జాబితా ఉంది ఇది ఒక సంఖ్యా కాదు ఎందుకంటే మళ్ళీ, మీరు పెద్దప్రేగు వదిలివేయు చేయవచ్చు. నేను మీరు అన్ని ఈ గమనించి ఆశిస్తున్నాము. చరిత్ర విధానం చరిత్ర జాబితా లో తిరిగి ముందు పంక్తులు వెళ్ళవచ్చు. మీరు ఒక అలియాస్ నిర్వచనం ఈ పని చేయడు. నేను ఈ పూర్తి ఎప్పుడూ చూడలేదు. ఇది చరిత్ర జాబితా నుండి ముందు ఆదేశాలను లాగే ప్రభావం వుంటుంది మీరు వివిధ ఆదేశాలను కావచ్చు ఇది అలియాస్, అమలు ఎప్పుడు ఎక్కడ మీరు అమలు ఆధారపడి. మందుల మీరు ఓడిపోని అక్కడ మీరు ఉండవచ్చు కేవలం అంతకుముందు ఆదేశాన్ని ఏమి. నేను ఈ జరిగే ఎప్పుడూ చూడలేదు. నేను ఎవరైనా అనుకోవచ్చు అనుకుందాం, కానీ ఈ చాలా అరుదు. ఇక్కడ మరో విషయం ఉంది. మీరు ఆ చరిత్ర రకం సూచన ఉపయోగిస్తే, అప్పుడు ఒక సూచన ఇది మాత్రమే వాదనలు ఉపయోగిస్తారు. మీరు ఒక చరిత్ర రకం సూచన ఉపయోగించడానికి లేని ఒక అలియాస్ నిర్వచనం కలిగి ఉంటే, ఇది కేవలం కమాండ్ ప్రారంభంలో కలిగితే మరియు మీరు మరింత వాదనలు ఉన్నాయి, అప్పుడు ఏదైనా మీరు ఆ తర్వాత టైప్ కమాండ్ చేర్చబడుతుంది. ఈ సందర్భంలో, నేను అక్కడే ఇచ్చింది ఉదాహరణకు, మేము మొదటి వాదన వినిపించారు; మేము ఏ ఇతరులు ఉపయోగించడానికి లేదు. ఇతర వాదనలు ఆదేశ ఇవ్వబడింది ఉంటే, వారు ఉపయోగించవచ్చు కాదు. మీరు చరిత్రలో సూచన ఉపయోగిస్తే, అప్పుడు మీరు ఏ వాదన పొందడానికి ఇది ఉపయోగించాలి. నేను కేవలం పాక్షికంగా కాలేజీ, గురించి మీరు ఇక్కడ మరో విషయం, నామంగా ఆశ్చర్యార్థకం పాయింట్ ఈ చరిత్ర విధానం అసలు సి-shell వెళుతుంది. tcsh చరిత్ర కార్యకలాపాలు పరిచయం సంపాదకులు ఆదేశాలను మరియు తంత్రుల రకాల ఉపయోగించే, Emacs లేదా vi గాని. నా వ్యక్తిగత అభిప్రాయం Emacs ఈ ప్రయోజనం కోసం ఉపయోగించడం చాలా సులభం ఉంది మీరు మీ సాధారణ సవరణకు vi కూడా. ప్రస్తుతం చరిత్ర కొరకు ఇవి వివిధ Emacs ఆదేశాలు మిగిలి ఉన్నాయి. కంట్రోల్ పి చరిత్ర జాబితాలోని మునుపటి లైన్ గెట్స్. మరో కంట్రోల్ పి మీరు ఆ ముందు ఒక పొందుతారు. బాణం ఇదే చేస్తుంది. మీరు ఇప్పటికే కొన్ని మార్గాలు తిరిగి scrolled ఉంటే కంట్రోల్ N తరువాతి కమాండ్ గెట్స్. డౌన్ బాణం కూడా చేస్తుంది. మీరు బాణాలు మరియు వివిధ ఇతర విషయాలు ఎడమ తరలించవచ్చు. ఈ చరిత్ర విధానం వుపయోగించవచ్చు ఆశ్చర్యార్థకం పాయింట్ సింటాక్స్ ఉపయోగించి కంటే సులభంగా, కానీ మీరు ఒక అలియాస్ నిర్వచనం అని ఉపయోగించడానికి కాదు. మేము కొన్ని ఇతర సమయం ఆ వెళ్ళి చేస్తాము. వేరియబుల్స్. మీరు ప్రోగ్రామింగ్ భాషల్లో ఏమిటో వేరియబుల్స్ తెలుసు. కవచాలను కలిగి. సి-shell, వేరియబుల్స్ కేటాయించి సెట్ ఆదేశాన్ని ఉపయోగిస్తుంది కాబట్టి బి విలువకు వేరియబుల్ ఒక అమర్చుతుంది - నేను, ఒక పనికిరాని నిర్వచనం కానీ ఈ ఉపయోగిస్తారనేందుకు దృష్టాంతం అన్నాడు. ఇది ఇప్పటికే ఉనికిలో లేదు ఉంటే కమాండ్ సెట్ ఒక వేరియబుల్ సృష్టిస్తుంది. షెల్ స్క్రిప్ట్లను కోసం స్థాన పారామితులు వేరియబుల్స్ పరిగణించవచ్చు, కానీ వాటిని ఉపయోగించడం మరియు వారికి నియమాలు భిన్నమైనవి. స్క్రిప్టుకు కోర్సు లో $ 1 ఒక లెక్కించాల్సి కాదు. మీరు కొన్ని కోరుకుంటే ఆ పనికి ఒక కొత్త వేరియబుల్ నిర్వచించే వుంటుంది. వాదనలు ఏ తో సెట్ Type మరియు మీరు అన్ని ప్రస్తుతం నిర్వచించిన వేరియబుల్స్ లిస్టు. మరియు ఇక్కడ యొక్క నా ఇతర చిప్ప పొందుతాయి మరియు మేము అలా మేము పొందండి చూద్దాం. అక్కడ చాలా జాబితా, కుడి? కొద్దిగా పైకి స్క్రోల్. ఆ చూడండి. ఈ విషయాలు కొన్ని షెల్ స్వయంచాలకంగా నిర్వచించబడ్డాయి. షెల్ వేరియబుల్ సృష్టిస్తుంది మరియు ఒక విలువ ఇస్తుంది. వాటిలో కొన్ని షెల్ నిర్వచించిన కానీ తరువాత వినియోగదారు ద్వారా కొత్త నిర్వచనం ఉన్నాయి తన ప్రాధాన్యతల ప్రకారం. మరియు వాటిలో కొన్ని అతను ఆ రోజు ఏమి ఆధారపడి యూజర్ ద్వారా సృష్టించబడతాయి. కేవలం వాదనలు ఏ తో సెట్. ఇక్కడ ఈ విషయం బేసి ఫీచర్ ఉంది. సైన్ సమానం మరియు వేరియబుల్ పేరు మధ్య ఖాళీలు గాని ఉన్నట్లు మరియు సమానం రెండు వైపులా విలువ లేదా ఖాళీలు సైన్, ఈ ఒక వంటి. ఈ పనిచేయదు, మరియు ఈ నిజంగా ఒక చెల్లుబాటు అయ్యే ఆఙ్ఞ కానీ మీరు ఉద్దేశం దాని చేయరు. ఆ ఆదేశం పని ఎందుకంటే మీరు ఒక వేరియబుల్ పేరు సెట్ మరియు చెప్పడానికి అయితే సైన్ సమానం లేదా సెట్ మరియు ఒక సమానం వేరియబుల్ పేరు సైన్ మరియు విలువ, తో ఇది ఒక శూన్య విలువకు వేరియబుల్ సెట్ చేస్తుంది. కాబట్టి ఒక = సెట్ చెల్లుబాటులో కమాండ్. కమాండ్ సెట్ అదే లైన్ లో కంటే ఎక్కువ 1 వేరియబుల్ నిర్వచించలేదు. ఇక్కడ ఈ ఆదేశం విలువలు శూన్యం ఒక అండ్ బి నిర్వచించే ప్రభావం. బహుశా మీరు ఏమి. ఇక్కడ ఈ ఒక, ముందు పేర్కొన్న, లోపం దారి తీస్తుంది = బి ఒక చెల్లుబాటు అయ్యే వ్యక్తీకరణ కాదు ఎందుకంటే. ఒక వేరియబుల్ పేరు సైన్ సమానం తో ప్రారంభం కాదు. మరియు ఇక్కడ ఈ మరింత విషయాలు ఉన్నాయి. కోలన్లు, చరిత్ర పంక్తులు వాదనలు ఎంచుకోండి ఉపయోగించారు మరియు వారు ఉపయోగించవచ్చు - మరియు నేను ముందు లోకి వెళ్ళలేదు - ఆ విషయాలు సవరించడానికి. వారు కూడా షెల్ వేరియబుల్స్ సవరించడానికి ఉపయోగించవచ్చు. ఇక్కడ ఈ ఒక,, ఒక $ విలువ. : R పొడిగింపు ఆఫ్ పడుతుంది. పొడిగింపు ఒక డాట్ క్రింది ఏదైనా ఉంటుంది, ఒక డాట్ మరియు ఒక ఫైలు చివర ఇది క్రింది ఏదైనా, మాత్రమే గత స్లాష్ తరువాత జాబితా చివరిలో. కాబట్టి నేను ఇక్కడ కలిగి. ఒక ఉంది. ఇది పడిపోవటం. O. ఎటువంటి పొడిగింపు, గత స్లాష్ తర్వాత మాత్రమే pathnames ఉంది, ఇది ఎటువంటి ప్రభావం. ఒక: h, వేరియబుల్ ఎక్స్ప్రెషన్ ఒక డైరెక్టరీ జాబితా యొక్క చివరి మూలకం ఆఫ్ పడుతుంది, మళ్ళీ, మాత్రమే గత స్లాష్ తరువాత. కాబట్టి / ఒక / బి / సి / ఒక / బి అవుతుంది, జాబితా తర్వాత మూలకం శూన్య ఎందుకంటే ఈ ఒక మార్చబడింది. ఇక్కడ కూడా నేను ఒత్తి ఇది ఏదో ఉంది. ఈ అర్హత ఈ ఫైళ్లను ఉనికి కోసం అన్వేషణ లేదు. వారు కేవలం తీగలను కోసం చూడండి. ఈ, pathnames ఫైల్ సవరించడానికి ఉద్దేశించిన కానీ వారు ఒక ఫైల్ పేరు లేదు అయినా, ఏ తీగ ఉపయోగించవచ్చు. మరియు వారు ఉనికి కోసం చూడండి లేదు, కాబట్టి అటువంటి ఫైలు ఉంది ఉంటే, / ఒక / బి / సి, ఇది ఇప్పటికీ పని చేస్తుంది. ఇది ఏ ఉపయోగం ఉంది మరొక ప్రశ్న, కానీ ఇప్పటికీ పని చేస్తుంది. వేరియబుల్స్ బోర్న్ పెంకులు వైవిధ్యభరితంగా. మేము ఆ చూస్తారు. డాలర్ సైన్ ఆశ్చర్యార్థకం పాయింట్ మరియు చుక్క వంటి తప్పించుకున్న చేయవచ్చు. డాలర్ సైన్ ఒక బాక్ స్లాష్ లేదా సింగిల్ కోట్స్ తప్పించుకున్నారు చేయవచ్చు. డబుల్ కోట్స్ అన్ని పెంకులు లో బేసి ప్రభావం ఒక డాలర్ మూల్యాంకనం బలవంతంగా వేరియబుల్ వ్యక్తీకరణ సైన్. ఇది ఒక మార్గం తప్పించుకున్న చేయబడిన చేస్తే, డబుల్ కోట్స్ ప్రభావం అది ఏమైనప్పటికీ లెక్కించాలి దీనివల్ల. ఈ కొద్దిగా గందరగోళంగా ఉంది. డబుల్ కోట్స్ లోపల సింగిల్ కోట్స్ వంటి పారిపోయే బహుళ స్థాయిలు ఉన్నాయి ఉంటే లేదా సింగిల్ కోట్స్ లోపల డబుల్ కోట్స్, మీరు ఏం జరుగుతుందో చూడటానికి పరీక్షించడానికి ఉండాలి మీరు ఒక ఉపయోగిస్తున్నట్లయితే వేరియబుల్. ఆ 2 పరిస్థితుల్లో - డబుల్ ఏకైక, ఏకైక లోపల డబుల్ లోపల - తప్పనిసరిగా మీరు అదే ఫలితం ఇస్తాయి లేదు. పరిసరం, కట్టుబడి C-షెల్ వేరియబుల్స్. పరిసరం, కూడా C-షెల్ లో వేరియబుల్స్ ఉన్నాయి మరియు వారు చాలా ఇతర పెంకులు కూడా వేరియబుల్స్ ఉన్నాయి. సి-shell, వారు ప్రత్యేక సమూహాలను ఉన్నాయి. నేను ముందు మాట్లాడుతూ విషయాలు షెల్ వేరియబుల్స్ గురించి. పరిసరం అంశాలపై ప్రత్యేకమైన సెట్ ఉన్నాయి మేము కట్టుబడి వేరియబుల్స్ కాల్ అనేక వేరియబుల్స్ మినహా, చాలా ముఖ్యమైనవి మరియు మేము తరువాత ఆ లోకి పొందుతారు ఇది. పరిసరం స్వయంచాలకంగా న జారీ పెంకులు లేదా మీ షెల్ నుండి అమలు ఆ ఆదేశాలకు. ఇతర విషయాలు కావు. షెల్ వేరియబుల్స్ మారుపేర్ల కాదు. పరిసరం ఉన్నాయి. మేము పరిసరం కాల్ ఎందుకు పేర్కొంది, ఆలోచన వాతావరణంలో మీ ప్రస్తుత షెల్ గత పొడిగించిన ఉండటం. వారు ఆదేశాలను కోసం విషయాలు నిర్వచించడానికి ఉపయోగించవచ్చు. ఇక్కడ ఒక ఉదాహరణ. PRINTER, LPDEST. ఆ వేరియబుల్స్ రెండు కమాండ్ విషయాలు ప్రింట్ ఉపయోగించే ఒక ప్రింటర్ నిర్వచించలేదు. మీరు చుట్టూ బహుళ ప్రింటర్లు లేకపోతే, మీకు ఇష్టం ఒక ఉంచాలి కావలసిన ఉండవచ్చు. మేము 2 వేరియబుల్స్ ఉన్నాయి కారణం ఆదేశాలను వివిధ రకాలైన వ్రాయబడ్డాయి ఉంది ఈ వివిధ వేరియబుల్స్ ఉపయోగించి. మీరు వాటిని వివిధ ఇస్తాయి ఉండవచ్చు. ఎక్కువగా మీరు వాటిని అదే విలువ రెండు ఇస్తాము. ఆ విషయాలు పని ఎందుకంటే ప్రింటింగ్ చేసే ఆదేశాలను అంశాలపై విలువలు పరిశీలించడానికి ప్రోగ్రామ్. ఒక కార్యక్రమం ఆ విధంగా రాసిన లేదు, అది ఏదో చేయాలని వ్రాశారు, వేరియబుల్ అసంబద్ధం ఉంటుంది. కాబట్టి ఆపరేటింగ్ సిస్టమ్ అంశాలపై కోసం చూస్తున్న లేదు మీరు ఒక ప్రింటర్ చూడండి ప్రతి సమయం. ఆ విధంగా ప్రోగ్రాం ఉంటే ముద్రణ చేసే ఒక కమాండ్ అంశాలపై అన్వేషిస్తుంది. అంశాలపై తరచుగా మీ ప్రారంభ ఫైళ్లు లో నిర్వచించబడ్డాయి కాని తప్పనిసరిగా. మీరు ఆదేశ వాటిని నిర్వచించలేదు. వారు ఒక కమాండ్ నిర్వచించవచ్చు. ఏదో నడుస్తుంది ఒక కమాండ్ వేరియబుల్స్ యొక్క తన స్వంత ఎంపిక ఉండవచ్చు - ఉదాహరణకు ఒక నిర్దిష్ట సాఫ్ట్వేర్ ప్యాకేజీ ప్రత్యేకమైన ఆ వేరియబుల్స్,. మీరు ఆ ప్యాకేజీ అమలు చేసినప్పుడు వారు నిర్వచించవచ్చు కనిపిస్తుంది. ఎలా అంశాలపై ఒక ఉప షెల్ పంపుతారు? ఒక ఉప షెల్ వ్రాసిన ఉన్నప్పుడు, ఆ ప్రాంతంలో రాయరు. పరిసరం అవసరమైనది ఉప షెల్ ప్రాంతంలో ఉప షెల్ రాసిన లేదు; అది కాపీ ద్వారా వ్రాయబడినది. మీరు ఒక సాధారణ ఆదేశాన్ని ఉన్నప్పుడు, అటువంటి ఈ ఆదేశాలు ప్రింట్ లేదా ఎలాగైనా వంటి వారు ఒక కొత్త షెల్ సృష్టించడం ద్వారా ఆఫ్ ప్రారంభించండి. షెల్ షెల్ సృష్టిస్తుంది ఆపై అది భాగంగా తిరిగి రాస్తుంది కొద్దిగా గందరగోళంగా ఇది మీరు రన్ చేస్తున్న ఆదేశం,, కానీ ఈ ఆదేశాలను పరిసరం ఎంత వారు తరువాత ప్రస్తావిస్తున్నాయి. వేరియబుల్ setenv నిర్వచించి ఇక్కడ ఆదేశం. మీరు నిర్వచించారు ఎలా. Setenv, వేరియబుల్, విలువ: ఇది 3 అంశాలు వార్తలు. మీరు ఏ వాదనలు తో setenv, మీరు ఏమి వస్తుందా? ఆ వేరియబుల్స్ అన్ని యొక్క జాబితా. మళ్ళీ, అది ఒక nice దీర్ఘ జాబితా ఉంది మరియు ఈ సందర్భంలో, ఇతరులు లో వంటి, అంశాలపై షెల్ ద్వారా నా లాగిన్ ఆపరేషన్ ద్వారా ఎక్కువగా నిర్వచించబడ్డాయి కాకుండా నేను ఏదైనా కంటే. ఇక్కడ మరొక ఆదేశం, printenv ఉంది. ఆ ఎన్విరాన్మెంట్ ముద్రిస్తుంది. , ఇక్కడ సంపాదకుని = vi ఈ చివరి విషయం గమనించండి. ఆ అని నేను ఒక ఎడిటర్ కాల్స్ ఏదో ఉపయోగించి నేను మరియు నేను ఒక ఎడిటర్ ఇవ్వకండి మరియు నాకు ఎంపిక అనుమతిస్తుంది, ఇది నాకు vi ఇస్తాయి. నేను printenv ఎడిటర్ లేకపోతే? ఇది ఇంతే నాకు చెబుతుంది. కుడి ముందు, వేరియబుల్, తక్కువ ఉంది. ఈ నేను తక్కువ ఆదేశాన్ని మీ డిఫాల్ట్ ఎంపికలు, ఇది ఫైళ్లు ప్రదర్శిస్తుంది. నేను అలా చేస్తే, printenv, 1 వాదన లేదా 0 వాదనలు పడుతుంది కాదు 1 కంటే ఎక్కువ. అక్కడ ఇతర ఆదేశాలుకూడా, కానీ అన్ని ఆ రోజు పొందడానికి వెళ్ళి లేదు. వంటి షెల్ వేరియబుల్స్ కోసం మార్పిడులు ఉన్నాయి గుర్తుంచుకోండి: h, ఒక పాత్ చివరి మూలకం పడిపోవటం ఇది, లేదా: r, పొడిగింపు పడిపోవటం ఇది. ఆ ఇప్పుడు చాలా పరిసరం వర్తిస్తాయి. వారు ఉపయోగించేవారు. వారు చివరి కాలేదు ఉపయోగిస్తున్నప్పుడు. ఇప్పుడు వారు ఉంటుంది. ఇది సంవత్సరాలుగా పెంకుల పరిణామాలను అభివృద్ధి ఒకటి. నేను మాట్లాడుతూ వాతావరణాలను భాగంగా పెంకులు మరియు C-shell లో షెల్ వేరియబుల్స్ కొన్ని మినహాయింపులు, ప్రత్యేక సమూహాలను తో, ఉన్నాయి. మీరు అదే పేరుతో వాతావరణంలో వేరియబుల్ మరియు షెల్ వేరియబుల్ ఏర్పాటు చేయవచ్చు. వారు వివిధ వేరియబుల్స్ అని ఇవి వివిధ విలువలు కలిగి ఉంటాయి. ఒక దాని విలువ మార్చడం ఇతర విలువ చెయ్యదు. అంశాలపై అన్ని డాలర్ సైన్ తో విశ్లేషించబడుతుంది - $ ఒక, $ సంసార. కాబట్టి మీరు ఈ కలిగి ఉంటే? మీరు పొందండి ఇది ఒక తెలుసా? నా పరీక్షల్లో నేను షెల్ వేరియబుల్ వచ్చింది, కానీ ఈ పేర్కొనలేదు మరియు మీరు ఆ నమ్మలేని. నేను షెల్ మరియు పరిసరం సృష్టిస్తుంది, మీరు అడగండి అదే పేర్లు మంచి ఆలోచన తో? సరే నం. దీనిలో పర్యావరణం మరియు షెల్ వేరియబుల్స్ ఆ ప్రధాన మినహాయింపులు ఏమిటి ప్రతి ఇతర లింక్? ఈ 4 ఉన్నాయి. రాజధాని లేఖ పర్యావరణం అనే పదం వేరియబుల్, చిన్న అక్షరాలు, టెర్మినల్ ఎమ్యులేషన్ రకం లో వేరియబుల్ పదం షెల్. , నేను ఇక్కడ వెళ్ళండి వెళుతున్న మరియు నేను ఇక్కడ echo, ఉపయోగకరమైన ఆదేశం వెళుతున్న $ ప్రకటనలను $ పదం. మరియు అక్కడ. xterm X విండో సిస్టమ్ ప్రదర్శించబడుతుంది విండోలకు టెర్మినల్ రకం. xterm రంగు వివిధ రంగులు అనుమతించే ఒక వైవిధ్యం ఉంది. మనం ఈ నిర్ధారిస్తారు? ఈ మంచి ఏమిటి? ఎడిటర్ వంటి స్క్రీన్ క్రమాన్ని ఆ ఆదేశాలు ఎస్కేప్ సీక్వెన్స్ అని ప్రత్యేక సన్నివేశాలు, పంపండి, టెర్మినల్ లేదా ఒక విండోకి అలా ఎన్నో క్రమాన్ని మరియు. ఆ సన్నివేశాలు టెర్మినల్స్ వివిధ రకాల కోసం భిన్నంగా ఉంటాయి. ఈ వాటిని ఉపయోగించడానికి ఇది చెబుతుంది. కొన్నిసార్లు సమస్యలు ఉన్నాయి. మీరు ఆ మార్చడానికి కావలసిన ఉండవచ్చు. విషయాలు పని కాకపోతే, కొన్నిసార్లు టెర్మినల్ రకం, తప్పు సెట్ మీరు పదం వేరియబుల్ తిరిగి నిర్వచించడానికి ద్వారా దాన్ని పరిష్కరించడానికి చేయవచ్చు. ఈ సందర్భాలలో, ఒక వేరియబుల్, వాతావరణంలో వేరియబుల్ లేదా షెల్ వేరియబుల్ మారుతున్న, ఇతర ఒక మార్చాలి. నేను అనుభవం ద్వారా కనుగొన్నారు చేసిన అక్షరాలతో ప్రకటనలను మారుతున్న ఎప్పుడూ చిన్న అక్షరాలు షల్ వేరియబుల్ పదం మారదు. ఈ బగ్ ఉంది. ఎప్పుడూ నిజం ఉంటే నాకు తెలీదు. ఇది నిజం కాదు చాలా కాలం, కానీ ఉండవచ్చు. మీరు ఒక మార్పు చేస్తే, ఆ తనిఖీ. ఇది కానీ ఒకసారి మీరు ఒక సమయంలో, మీరు ఆ విలువ మార్చడానికి అవసరమైన తరచుగా కాదు. పర్యావరణ వేరియబుల్ USER. మళ్ళీ, పెద్ద అక్షరాలలో వాతావరణంలో వేరియబుల్, చిన్న అక్షరాలలో వేరియబుల్ షెల్. ఇది మీ వినియోగదారు పేరు ఉంది. ఇది చాలా అసాధారణమైన పరిస్థితులలో ఉంది మీరు ఆ మార్చడానికి సాహసించరు. మీ వాడుకరిపేరు ఎవరో ఉంటే, అది అన్ని రకాల పడగొట్టటానికి. Home డైరెక్టరీ, వినియోగదారు యొక్క హోమ్ డైరెక్టరీ. మళ్లీ మీరు మార్చడానికి కావలసిన కాదు. మేము, మార్గం వేరియబుల్ కవర్ చేయబోతున్నారు ఈ కేసులు మరియు ఒక అన్ని లో గమనించండి, వాతావరణంలో వేరియబుల్ అక్షరాలతో ఉంది మరియు పరిమితిని షెల్ వేరియబుల్ చిన్న అక్షరాలలో ఉంది. మీరు ఒక మార్చుకుంటే, మీరు ఇతర మార్చాలి. మీరు 2 వేరియబుల్స్ కట్టుబడి కాదు వంటి బైండింగ్ ఈ రకమైన ఏర్పాటు సాధ్యం కాదు, ఇతర కంటే ఈ 4, మరియు అంశాలపై లో బైండింగ్ పునరావృత్తం కాదు, మీరు వాటిని వేరు కాదు. కాబట్టి చరరాశుల ఈ 4 జతల ఉంటారు. వారు ఎల్లప్పుడూ ఉంటుంది. ఎవరూ ఇతరుల ఉంటుంది. అదనంగా, ఇది అదే పేర్లతో వేరియబుల్స్ సృష్టించడానికి సాధ్యమవుతుంది వ్యతిరేక రకాల. మీరు చిన్న అక్షరాలు లో షెల్ వేరియబుల్ పదం చేయగలిగితే లేదా పెద్ద అక్షరాలలో వాతావరణంలో వేరియబుల్ TERM. ఆ వేరియబుల్స్ ఈ జత వేరియబుల్స్ యొక్క స్వతంత్ర ఉంటుంది మరియు అవి ఒకదానితో స్వతంత్ర ఉంటుంది. మీరు ప్రజలు కంగారు తప్ప అలా ఎందుకు నేను ఊహించలేము. ఇక్కడ ఈ ఒక, మార్గం వేరియబుల్, ఈ ఒక నిజంగా ముఖ్యమైన ఒకటి. ఇక్కడ మరో విషయం కేసులు ఉంది ఒకరికొకరు కట్టుబడి లేదు ఇలాంటి జత పేర్లతో వేరియబుల్స్ యొక్క. రాజధాని మరియు చిన్న అక్షరాలు లో, వేరియబుల్స్, SHELL మరియు షెల్ ఉండవచ్చు. ఆ వేరియబుల్ షెల్ వేరియబుల్ ఉంటే ఆ పేరు ఆధారంగా, మీరు తెలియదు లేదా వాతావరణంలో వేరియబుల్, మరియు అవి ఒకదానితో కట్టుబడి లేదు. కాబట్టి జత పేర్లు ఆ రకమైన కట్టుబడి వేరియబుల్స్ అర్థం కాదు. నేను ముందు చూపించాను మార్గం వేరియబుల్, షెల్ ఆదేశాలు కోసం పెడుతుంది లో pathnames జాబితా. యొక్క ఇక్కడ ఈ విండో కి పొందుటకు మరియు మేము ఎకో $ PATH, అక్షరాలు చేస్తాను - వాతావరణంలో వేరియబుల్ - $ మార్గం echo, చిన్న అక్షరాలు - వేరియబుల్ షెల్. డైరెక్టరీలు జాబితా అదే అని గమనించండి. ఈ కట్టుబడి ఉంటాయి. ఒక మార్చండి, మీరు ఇతర మార్చడానికి. వాతావరణంలో వేరియబుల్ అంశాలు కోలన్లతో వేరు. గమనించండి. షెల్ వేరియబుల్స్ ఖాళీలతో వేరు. యెన్విరాన్మెంట్ వేరియబుల్ ఒక స్ట్రింగ్. షెల్ వేరియబుల్ వ్యూహం. బోర్న్ షెల్ శ్రేణుల కలిగి లేదు. బాష్ చేస్తుంది, కానీ ఈ ఇప్పటికే షెల్ ఒక స్థిర భాగం. ఈ ఒక స్ట్రింగ్ మరియు ఒక శ్రేణి. సి-shell ఎల్లప్పుడూ శ్రేణుల కలిగి. శ్రేణితో పని చాలా సులభమైనది. మీరు అది భాగాలను సూచించవచ్చు. కాబట్టి మీ మౌస్ మార్గం [1] మరియు I / usr / bin, మొదటి మూలకం. మళ్ళీ, డాలర్ గుర్తు సైన్ చరిత్ర జాబితా యొక్క చివరి మూలకం కోసం నిలుస్తుంది. ఏమి జరుగుతుంది? ఇది ఒక వేరియబుల్ చిహ్నంగా డాలర్ సైన్ ప్రయత్నించాడు. నేను తప్పించుకోవడానికి. అయ్యో. ఇది గాని తీసుకు. ఈ విషయాలు కొన్ని బాగా పని లేదు. బహుశా మేము ఆ చెప్పను. Asterisk మొత్తం విషయం సూచిస్తుంది, కానీ మీరు ఒక మూలకం పేర్కొనండి లేకపోతే మీరు పొందండి ఏమిటి. శ్రేణి వేరియబుల్స్ అవకతవకలు చేసే మరో మార్గం, అక్కడ అంశాలు, 7 అంశాల సంఖ్య. ఇక్కడ మేము వేరియబుల్ పేరు ముందు పౌండ్ సైన్ చాలు. ఇక్కడ మరొక ఒకటి. అక్కడ ప్రశ్నార్ధకం ఉంచండి. ఒక తార్కిక విలువ. ఆ వేరియబుల్ ఉందని సూచిస్తుంది. ఇది వేరియబుల్స్ తో పని మరొక మార్గం. ఆ, ద్వారా, వ్యూహం వేరియబుల్ లేదు. ఏ వేరియబుల్ ఉంటుంది. నేను ఉంటే, అక్కడ అలాంటి వేరియబుల్ వార్తలు మరియు నేను 0 పొందుటకు. వేరియబుల్ ఫిర్యాదుదారులు మరొక చిన్న విషయం. దీనికి తిరిగి ఇక్కడ, మీరు ఈ పని కోరుకున్నాడు కారణం కానీ శ్రేణి తో పని కంటే, షెల్ వేరియబుల్, పెద్దప్రేగు ఆధారంగా ఈ విషయాలు వేరు చేసే ఆదేశాలను ఉన్నాయి. నిజానికి, మీరు బహుశా బాష్ షెల్ లో చేస్తూ చూడాలని ఉంటే, స్క్రిప్ట్ రకమైన, మీరు దీన్ని ఎలా కావచ్చు ఉంటుంది. కానీ సి-shell లో శ్రేణి ఉపయోగించడానికి చాలా సులభం. బోర్న్ షెల్, వేరియబుల్స్ ఈ వంటి ఒక వ్యక్తీకరణను అప్పగించింది ఉంటాయి, మీరు ఒక ప్రోగ్రామింగ్ భాష లో ఒక వేరియబుల్ కేటాయించి ఉండవచ్చు మార్గం వంటి, మరియు ఇక్కడ ఖాళీలు ఉండాలి. ఇది కేవలం 1 స్ట్రింగ్ ఉండాలి అవసరమైన ఉంది. బోర్న్-రకం పెంకులు లో అన్ని వేరియబుల్స్ షెల్ వేరియబుల్స్ ఉన్నాయి. పరిసరం షెల్ వేరియబుల్స్ యొక్క ఉపసమితి ఉంటాయి. వారు ఎగుమతి ద్వారా కాని పరిసరం విభేదిస్తాయి. అలా ఆదేశం ఎగుమతి PRINTER వంటి, ఎగుమతి ఉంది. మేము ఒక వేరియబుల్ నిర్వచించే ఉంటే, మేము దానిని కనుగొనేందుకు ఒక ముద్రణ ఆదేశం కోరుకుంటే, అది వాతావరణంలో వేరియబుల్ అవవచ్చు, మరియు మేము ఇది ఒక ఎలా. ఇక్కడ అస్పష్టతకు రకమైన విషయం ఏదైనా. ఈ వ్యక్తీకరణ, వాతావరణంలో ఎగుమతి,, ఈ బోర్న్ షెల్ భావన నుండి ఉద్భవించింది మరియు ఇంకా ఆ వ్యక్తీకరణ, C-shell వర్ణనలు ఉపయోగిస్తారు అలాంటి కమాండ్ ఎగుమతులలో ఉన్న. మీరు స్వయంగా ఎగుమతి చెప్పుకోవాలంటే, మీరు ఎగుమతి లిస్టు - కాబట్టి నేను ఇక్కడ ఎగుమతి లేకపోతే, అనేందుకు. సరే, అక్కడ మేము వెళ్ళి. ఈ విషయాలు, ద్వారా, షెల్ నిర్వచించబడ్డాయి. ప్రభాకర్రెడ్డి ఈ ఏ నిర్వచించటానికి లేదు. షెల్ ద్వారా అన్ని రకాల చేస్తుంది. ఇది స్వయంచాలకంగా పనులు చేయాలి. బాష్ లేదా కార్న్ SHELL, మీరు, ఈ వంటి ఒక ఆదేశాన్ని ఒక వేరియబుల్ ఒక విలువ ఇవ్వాలని మరియు 1 ఆదేశం లో ఎగుమతి చేస్తుంది రెండూ. బోర్న్ షెల్ లో వారు ఎగుమతి ఒక వంటి వేర్వేరు దళాల ఉండాలి. ఇక్కడ గందరగోళంగా ఉంది మరొక అంశం. సి-shell లో సెట్ ఆదేశం వేరియబుల్స్ నిర్వచిస్తుంది మరియు వాదనలు తో వేరియబుల్స్ 'విలువలు ఏమి ఉన్నాయి మీరు చెబుతుంది. బాష్ షెల్ లో, ఏ వాదనలు తో సెట్ ఆదేశం, ఇదే చేస్తుంది కానీ వాదనలు చాలా భిన్నంగా ఏదో చేస్తుంది. కాబట్టి ఈ ఇక్కడ వివిధ వాదనలు. వీటిలో కొన్ని వాటిలో కొన్ని షెల్ వేరియబుల్స్ ఉన్నాయి, పరిసరం ఉన్నాయి. అవి అన్ని నిజంగా షెల్ వేరియబుల్స్ ఉన్నాయి. ఆ కొన్ని పరిసరం ఉన్నాయి. వాదనలు తో సెట్ ఆదేశం ఆపరేట్ ఉపయోగించవచ్చు స్క్రిప్ట్ స్థాన పారామితులు న, ఇది వాటిని ఒకేసారి పొందడానికి ఒక మార్గం. మేము నిజంగా ఆ రోజు లోకి వెళ్ళి కాదు. ఇది షెల్ ప్రవర్తనను మార్చడానికి ఉపయోగించవచ్చు. ముఖ్యంగా బాష్ షెల్ ప్రవర్తిస్తుంది ఎలా నిర్ణయించడానికి ఇది వేరియబుల్స్ ఉన్నాయి. అప్పుడు కూడా మీరు చూడవచ్చు ఆ ఈ ఒక ఆదేశం, ఈ ఆదేశం. వేరియబుల్స్ మరియు వేరియబుల్ రకాల తరువాత రూపంలో ముద్రించారు కార్న్ మరియు బాష్ పెంకులు ఉపయోగిస్తారు. , ఇది తప్పనిసరి కాదు కానీ వేరియబుల్స్ యొక్క విలువలు పరిమితం ఉపయోగించవచ్చు లోపాలను నివారించడానికి ఉపయోగపడుతుంది, మరియు అది సాధారణ ఉంది ఇది. నేను ఈ సందర్భంలో మీ ఎక్కడో చూసే ప్రస్తుతించారు చేస్తున్నాను. పేరు ఆదేశం. నేను చెప్పిన గుర్తుంచుకో తొలినాళ్ళలో C-shell లో ఆదేశం, మీరు ఒక కమాండ్ పాత్ స్థానాన్ని తెలియజేయవచ్చు ఇది. కమాండ్ ప్రత్యామ్నాయం ఉంది. మీరు ఎక్కడో మీ కీబోర్డ్ ఈ కనిపించే ఒక పాత్ర కనుగొన్న ఉండాలి. కీబోర్డ్ న నగర ఉంటాయి అన్నారు. మేము backquote అని చేసిన. ఇది ఒక కోట్ యొక్క పరిమాణం గురించి. ఇది కుడి తక్కువ ఎగువ ఎడమ నుండి వెళుతుంది. ఇక్కడ నా Mac కీబోర్డ్ మీద ఎగువ ఎడమ చేతి మూలలో ఉంది. ఆ పాత్ర కమాండ్ లోపల ఒక ఆదేశాన్ని ఉపయోగించవచ్చు. మీరు backquotes లోపల ఒక వ్యక్తీకరణ కలిగి ఉంటే, ఆ వ్యక్తీకరణ ఇది అమలు, ఒక ఆదేశం ఉంది. కమాండ్ యొక్క అవుట్పుట్ తరువాత మొత్తం backquote వ్యక్తీకరణ ప్రత్యుమ్నాయంగా ఆ కృషిని నడిపే ఒక పొడవైన ఆదేశం లోపల మొదలగునవి వాదనలు మరియు దాని స్ట్రింగ్ భాగంగా. ఇక్కడ ఆ ఉపయోగిస్తుంది అనే కమాండ్. యొక్క ఇక్కడ ఆపరేషన్ ప్రదర్శించేందుకు వీలు. Backquotes చేద్దామని, యొక్క ఇక్కడ వీడలేదు. కంట్రోల్ ఒక Emacs ఎడిటింగ్ సిన్టాక్సుతో లైన్ ప్రారంభంలో నాకు గెట్స్. ఇప్పటివరకు pathnames, పేరు ఏమిటి నేను ఈ మాదిరిగా చేసినప్పుడు, అది pathnames ఆ జాబితాలో ఏర్పాటు చేస్తారు ఈ మొత్తం backquote వ్యక్తీకరణ మరియు వాటిని పరుగులు ls-l స్థానంలో. అనుకూలమైన యొక్క అయిపో! కాబట్టి ఒక చక్కగా విషయం. ఆ backquotes పని ఎలా. ఇప్పుడు ఒక చిన్న మరింత పోవలెను. ఈ మారుపేర్ల ఉంటాయి. నేను నిజానికి ఈ ఉపయోగించడానికి. నేను 1 ఎడిటింగ్ ఆపరేషన్ ఈ లో పొందండి ప్రయత్నిస్తాము. సరే. ఇప్పుడు ఆ నిర్వచనాలు బయటకు వచ్చింది ఎలా చూద్దాం. అలియాస్ నిర్వచించడం ఎలా నాకు చెప్పడం lwh. ఇది కేవలం ఈ, కానీ బాహ్య ఆఫ్ కోట్లు తీసుకోబడ్డాయి గమనించండి మరియు ఆశ్చర్యార్థకం పాయింట్ ఆఫ్ తీసుకుంటారు. ! *, అన్ని వాదనలు పూర్తి జాబితా. ఒక అలియాస్ నిర్వచనం ఇది నేను ఈ ఉపయోగిస్తారు తిరిగి అనువర్తిస్తుంది. lwh KSH బాష్. సరే. ఆ పని ఎలా చూడండి? ఇది నాకు కొన్ని టైపింగ్ ఆదా. యొక్క కేవలం ఇక్కడ ఏదో చెప్పలేదు కొద్దిగా వెళ్ళి తెలపండి. ఇక్కడ ఈ వివిధ పెంకులు గమనించండి. నేను ముందు ఈ పేర్కొన్నారు వుండాలి. CSH ఒక ఇక్కడ పైగా 2 అందువలన చేస్తుంది / bin / tcsh ఉంది. మేము ఆ ఒకే ఫైల్ అని ఇతర మార్గాల ద్వారా ఏర్పాటు కాలేదు. మీరు బాష్ ను SH టైప్ చెప్పడం జరిగింది గుర్తుంచుకో. ఈ టైప్ మరియు మీరు ఈ పొందుటకు. కానీ ఆ సంబంధం. ఆ అక్కడ ఒకే వాటిని కలిగి. మరియు ఈ మరొక ఒక కాల్ ఇది ఫైల్ రకం కాదు. కాబట్టి ఆ ప్రత్యేక ఫైళ్లు ఉన్నాయి; C-shell వాటిని ఒకే ఫైల్ ఉన్నాయి. వెనుతిరిగాడు ఇక్కడ, ఇక్కడ ఇతర ఒక, ఈ మారుపేరు, ఈ ఆదేశం, ఫైలు అమలు గమనించండి. అలియాస్ ఆ నడుస్తుంది. దస్త్రం ను రకం చెబుతుంది. కాబట్టి fwh KSH బాష్. సరే. ఆ ఫైలు ఆదేశం యొక్క అవుట్పుట్ ఉంది. మీరు ఈ ఇక్కడ అర్థం ఏమి ఉంటే నేను, తెలియదు 2 నిర్మాణాలు తో మ్యాక్ O సార్వత్రిక బైనరీ. Mac లో 2 సాధ్యం ప్రాసెసర్ రకాలు ఉన్నాయి మరియు కొన్ని కార్యక్రమాలు ఇద్దరితో నడుస్తుంది చెయ్యడానికి వ్రాయబడ్డాయి, మరియు ఫైల్ ఆదేశం గుర్తించేందుకు, కాబట్టి ఈ అర్థం ఏమిటి. ఈ ఫైళ్ళను ఇద్దరూ ఆ విధంగా రాశారు. మనము backquote ఎలా పనిచేస్తుంది చూడటానికి అలియాస్ ఎలా పని చేస్తుందో చూడండి మేము అసలు ఫైల్ ls లేదా ఫైలు ఎలా పని చేస్తుందో చూడండి. ఈ పని చేయకపోవచ్చు. "ఎక్కడ" మరియు "lwh పేరు" ప్రయత్నించండి. సరే, యొక్క ప్రయత్నించండి తెలియజేయండి. ఎక్కడ. ఒక షెల్ అంతర్నిర్మిత ఉంది. ముందు మనం బాష్ పేరు లేదు తేలింది గుర్తుంచుకో. మీరు బాష్ షెల్ లో పేరు టైప్ చేస్తే, ఒక దోష సందేశం పొందండి. ఇది కాకుండా ఒక ప్రత్యేక ఆదేశం కంటే షెల్ కేవలం భాగం. నేను lwh పేరు కోసం చూస్తున్న రకం ఏమవుతుంది? అక్కడ ఏమి చూడండి. పేరు కోల్పోయారు, ఈ ఉత్పత్తి వచ్చింది, ఆపై ls అమలు ప్రయత్నించారు ఒక shell ఉన్న న l వంటి. ఎక్కడ లేదు, కానీ ఇతర వాటిని లేని. ఇవేవీ నిజానికి, ఉన్నాయి. కాబట్టి ఆ ఎల్లప్పుడూ పని లేదు, మరియు అది కూడా ఎలా కొన్ని విషయాలు వివరిస్తుంది మీరు భావించి ఉంటారు చాలా ఏమి లేదు. యొక్క మరింత ఇక్కడ కొద్దిగా పోవలెను. ఇక్కడ ఈ బాష్ లో ఉంది. కూడా backquote వంటి కమాండ్ ప్రత్యామ్నాయం ఉంది. కానీ backquote కాకుండా, ఈ వేరియబుల్ శైలిని ఉపయోగిస్తుంది. ఒక డాలర్ సైన్ తో ప్రారంభం ఇది వ్యక్తీకరణలు అనేక, ఉన్నాయి అంశాలపై కాదు, వారు డాలర్ సైన్ ఉపయోగించడం అరువు రకమైన యొక్క వ్యక్తీకరణ సూచించడానికి. ఆ కుండలీకరణాలు లేదా బ్రాకెట్లలో లేదా డబుల్ కుండలీకరణాలు చుట్టూ చేయవచ్చు, ఇది వేరే ప్రయోజనం. ఇక్కడ ఒకే కుండలీకరణాలు కేవలం backquotes వంటి ఆదేశాన్ని ప్రత్యామ్నాయం ఉన్నాయి. డబుల్ కుండలీకరణాలు నిజానికి ఒక గణిత ఆపరేషన్ ఉంది. ఇతర వాక్య, ఇతర ఆపరేషన్లు ఉన్నాయి. Backquote వాక్యనిర్మాణం బాష్ అందుబాటులో ఉంది. అయితే, ఈ ఒక ప్రాధాన్యత. ఇది చదవడానికి చాలా సులభం మరియు ఇది గూడు అనుమతిస్తుంది. మీరు, $ (ఆదేశం) లోపల మరొక ఆదేశాన్ని లాగ - నేను అక్కడ ఒక జాబితా పొందండి. నేను కూడా backquote కలిగి ఉంటే ఆ పని చేస్తుంది. నేను లాగ అనుకుంటే - మీరు బహుశా నిజంగా ఈ ఆదేశం ఉపయోగించడానికి కాదు, కానీ ఈ ఇంటర్నల్ కమాండ్ ప్రత్యామ్నాయం ఒక ప్రారంభించి అన్ని ఫైళ్ళ పేర్లు ప్రతిబింబిస్తుంది, ఈ ఒక, ఆ ఫైళ్ళను న ls-l నడుస్తుంది మరియు ఈ ఒక కేవలం అవుట్పుట్ ప్రతిబింబిస్తుంది. మీరు ఈ చేయరు; మీరు echo లేదా ls కావలసిన, కానీ ఈ ఆదేశాల గూడు పనిచేస్తుంది ఎలా వివరిస్తుంది. కాబట్టి మరొక లక్షణం ఇక్కడ.  నేను ఈ ముందు పేర్కొన్న, మీరు ఉన్నప్పుడు పేరు C-shell లో, ఆదేశాలను స్థాన కోసం బోర్న్-రకం కవచాల్లో రచనలు టైప్. నేను అక్కడ మాట్లాడుతూ ఏమి కేవలం అంతర్నిర్మిత ఆదేశాలను,. ఆదేశాలు పేరు వంటి షెల్, భాగంగా ఉన్నాయి. షెల్ ls వంటి ఆదేశాన్ని అమలు, అది, మార్గం ద్వారా గుర్తించి , ఎక్కడో కొన్ని డైరెక్టరీ లో తెలుసుకుంటాడు మెమరీ లోకి కొత్త షెల్ సృష్టిస్తుంది చదువుతుంది, షెల్ లోకి ఆదేశం ls లేదా ఎలాగైనా చదువుతుంది పరిసరం ఇప్పటికే ఉన్న, ఆపై అది అమలు బదిలీ. అంతర్నిర్మిత ఆదేశం, కమాండ్ కోసం కోడ్ షెల్ లోపల, కాబట్టి షెల్ దాని స్వంత కోడ్ భాగంగా అమలు మొదలవుతుంది. ఇక్కడ అటువంటి కమాండ్. ఇది వాస్తవానికి వేగంగా పొందుతాడు. ఇది మెమరీ లో ఏదైనా చదవడానికి లేదు; ఇది మెమరీ ఇప్పటికే. అంతర్నిర్మిత ఆదేశాల ఎల్లప్పుడూ అదే పేరుతో ఆదేశాలను ప్రాధాన్యత. మార్గంలో డైరెక్టరీలలో అని ఆదేశాలు అదే పేరును కలిగి, వివిధ డైరెక్టరీలు లో ఆదేశాలు, వివిధ డైరెక్టరీలు ఫైల్స్. ముందు మార్గంలో సంభవించే ఒక మీరు పొందుతారు ఒకటి. ఒక అంతర్నిర్మిత ఆదేశం ఉంటే, మీరు ఎల్లప్పుడూ పొందండి. ఇది మార్గంలో ఒక ఆదేశం కంటే తక్కువ ప్రాధాన్యత ఇవ్వాలని మార్గం ఉంది. మీరు ఆ మార్గాన్ని ఆదేశం పొందడానికి, మీరు పూర్తి పాత్ టైప్ చెయ్యవచ్చు. ఒక కమాండ్ పేరు ఎక్కడో మార్గంలో ఉంటే, మీరు / bin / పేరు టైప్ చేయవచ్చు మరియు మీరు పొంది. మీరు మొత్తం పాత్ టైప్ వద్దు, మీరు ఒక అలియాస్ నిర్వచించడం. మీరు అలియాస్ అంతర్నిర్మిత ఆదేశం అదే పేరును ఇచ్చింది ఉంటే నిజానికి,, ఇది పని చేస్తుంది అలియాస్ నిర్వచనం మూల్యాంకనం ఎందుకంటే పెంకు అమలు చేయాలి ఇది ఒక అంతర్నిర్మిత ఆదేశం అని నిర్ణయిస్తుంది ముందు. ఈ ఇక్కడ కొన్ని ఆదేశాలను తో కొంచెం క్లిష్టమైనది. కొన్ని ఆదేశాలు విషయంలో నిజానికి అంతర్నిర్మిత ఆదేశాలను మరియు మార్గంలో. వాటిని ఒకటి ఆదేశం నేను ఆ ఉదాహరణలలో ఒక అయితే క్రితం ఉపయోగిస్తారు, echo ఉంది. ఎకో మార్గంలో ఒక కమాండ్ మరియు ప్రతి షెల్ లో ఉంది. అవి ఒకే విధంగా ప్రవర్తిస్తాయి లేదు. ఇది మాత్రమే మార్గంలో నిజానికి ఒక ఆదేశం ఉంది. ఇది తరువాత షెల్ నిర్మించారు. వాతావరణంలో ఆధారపడి ఎంపికలు ఉన్నాయి ఎందుకంటే మరియు కమాండ్ లైన్ ఐచ్ఛికాలు, అంతర్నిర్మిత ఆదేశాలను మార్గంలో అని కమాండ్ అదే పని వ్రాయబడినాయి, వారు ఆ విధంగా రాసిన చేశారు అంశం ఉంది కమాండ్ ఇప్పటికే మార్గం కోసం వ్రాసిన కాలేదు ఉంటే. కాబట్టి ఈ దుష్ప్రభావాలు ఉంది. దీని చరిత్ర ఇక్కడ ప్రభావాలు ఉంది. ఎంపికలు ఉన్నాయి. Echo_style అని tcsh లో ఒక వేరియబుల్ నిర్వచించిన ఒక ఎంపికను ఉంది. ఆ రచనలు ప్రతిధ్వని ఆ విధంగా మార్చవచ్చు అంశాలపై ఒకటి. మీరు ఒక వేరియబుల్ కేటాయించవచ్చు దీనిలో ఇతర సందర్భాలలో ఉన్నాయి ఒక అంతర్నిర్మిత కమాండ్ వంటి షెల్ ఆపరేషన్, పనిచేసే విధంగా మారుస్తుంది. అది ఏదైనా మార్చదు ఇతర ఆదేశాలను షెల్ వేరియబుల్స్ ప్రాప్తి లేదు నుండి, మాత్రమే పరిసరం. కానీ షెల్ కార్యకలాపాలు షెల్ వేరియబుల్స్ చదువుకోవచ్చు. ఆ CSH పనిచేయవు. మాత్రమే tcsh ఉంది. మెరుగుదలగా ఒకటి. ఇది metacharacters మదింపు ఉన్నప్పుడు పార్సింగ్, సన్నివేశాలు ఉంది ఇది వేరియబుల్స్, మారుపేర్ల, చరిత్ర సూచనలు మదింపు ఉన్నప్పుడు. ఈ విషయాలు కోసం ఒక ప్రత్యేక క్రమం ఉంది. ఇది ఒక ప్రత్యేక క్రమం లో పనులు ఉంటే మరియు ఒక విధమైన వార్తల్ని ఏదో గెట్స్ ఇప్పటికే విశదపరిచాయి ఇది, అది తిరిగి దానిని మూల్యాంకనం లేదు. అది గెట్స్, అది కేవలం అక్షరాలు న పాస్ చేస్తుంది. అయితే ఆదేశం ప్రత్యామ్నాయం వంటి కొన్ని భావాలు మూల్యాంకనం లేదా వేరియబుల్ లేదా ఎలాగైనా వ్యక్తీకరణ పెంపొందించే మీరు లెక్కించాలి అనుకుంటున్నారో, అని మూల్యాంకనం తర్వాత క్రమంలో సంభవించినప్పుడు మాత్రమే ఆ పని చేస్తుంది. నేను స్పష్టం ఉండటం నేను ఆశిస్తున్నాము. ఆ పార్సింగ్ క్రమం, C-shell లో ఒక ఆపరేషన్, ఇది కాని అంతర్నిర్మిత ఆదేశాలను కోసం ఉంది అంతర్నిర్మిత ఆదేశాలను కోసం అదే కాదు. నేను అక్కడ బాష్ గురించి తెలియదు. ఉదాహరణకు, షెల్ వేరియబుల్ ఉంటే, చరిత్ర సూచన ఉత్పత్తి ఇది బహుశా చరిత్రలో వెళ్ళి కాదు. ఇది కేవలం ఆశ్చర్యార్థకం పాయింట్ పొందుతారు. నిజానికి, మేము ప్రస్తుతం ఆ ప్రయత్నించవచ్చు. ఒక = సెట్ మరియు మేము అక్కడ ఈ ఉంచాలి చేస్తాము. ఓహ్, వేచి. క్షమించాలి. నేను బాష్ లో చేసింది. నేను ఇక్కడ చేయాలనుకున్నాము. చూడండి, కాబట్టి ఆ చరిత్ర సూచన విశ్లేషించలేదు ఇది చరిత్ర భావాలు విశ్లేషించే దాటకుండా వల్ల ఇది వేరియబుల్ పరిశీలించిన ఉన్నప్పుడు. కాబట్టి ఆ పార్సింగ్ 1 ప్రభావం. మరియు తిరిగి, అంతర్నిర్మిత ఆదేశాలను అదే విధంగా పూర్తి లేదు. అన్ని కుడి. యొక్క ఇక్కడ తదుపరి వెళ్ళండి లెట్. ఈ 1 లైన్ ఉద్దేశింపబడింది, కానీ సులభంగా చదవటానికి విషయములపై. ఆ ఏమి చేస్తుంది? మీరు మేము ఫైల్ పేరు వైల్డ్ వంటి ఆస్టరిస్క్లు విశ్లేషించవచ్చు గుర్తుచేసుకున్నారు ఉండవచ్చు, మరియు ప్రశ్న గుర్తు మరియు బ్రాకెట్ ఎక్స్ప్రెస్ ఇతర ఫైల్ పేరు వైల్డ్ ఉన్నాయి. అంచనా ఆ రకమైన globbing అంటారు. ఈ ఆదేశం ప్రారంభంలో noglob సెట్ అలా చెప్పారు. సెట్ noglob తిరిగి ఆ చేయడం వెళ్ళండి చెప్పారు. ఆ సెట్ glob ఆ ప్రభావం లేదు గమనించండి. సాధారణ భాషలో, సెట్ glob లేదా సెట్ noglob, సమానమైన అగుపిస్తుంది కానీ ఇక్కడ అది కాదు. ఇది సెట్ noglob ఉంది. ఇప్పుడు tset. tset టెర్మినల్ సెట్ నిలిచిఉంది. విండోస్ వ్యవస్థలు అందుబాటులోకి వచ్చింది ముందు ఇది తరచుగా ఇప్పుడు ఉపయోగిస్తారు, కానీ కాదు మరియు మీరు ఒక టెర్మినల్ కలిగి, మీరు రకం గుర్తించేందుకు ఉంటుంది. మరియు ఏదో ఒక ఈథర్నెట్ లేదా నెట్వర్క్ నుండి వస్తున్న ఉంటే, మీరు ఒక vt100 చెప్పాలి అనుకోవచ్చు. VT100 టెర్మినల్ వ్యాపారంలో ఒక ప్రామాణిక యొక్క రకం. ఇది DEC టెర్మినల్ నుండి వస్తుంది. మీరు డయల్ అప్ చేస్తే - గమనించవచ్చు? ఈ హుహ్ తిరిగి ఒక మార్గాలు వెళుతుంది? కాబట్టి మేము ఇక్కడ పైగా tset లేకపోతే, నేను tset ఉంటే, అది నా టెర్మినల్ రీసెట్ కానీ మీరు ఏమీ చూడలేదు. ఇది నిజంగా ఏదైనా మార్పు లేదు. -లు సరే. setenv ప్రకటనలను xterm రంగు. ఆ మార్పు లేదు కాబట్టి మేము ఇప్పటికే, పదం విధంగా ఏర్పాటు చేశారు తెలుసు. మాకు అది చేయాలనుకుంటున్నారా మీరు మార్గం. కానీ ఈ ఆదేశం, tset-s, కేవలం అవుట్పుట్ ఈ ఆదేశాలను గమనించవచ్చు. ఇది వాటిని అమలు కాలేదు. ఇది ఈ ఆదేశాలను అమలు కాలేదు; వాటిని ఇది ఉత్పత్తి. కాబట్టి ఈ అమలు చేయబడే ఆదేశాలను ఉత్పత్తి ఉద్దేశించబడింది. మీరు ఫైల్ లో కమాండ్ గుర్తు నేను మీరు ఒక Q కలిగి చూపించింది. కాబట్టి యొక్క ఆ తెలియజేసేలా. Q కొన్ని అవుట్పుట్ నిరోధిస్తుంది, కానీ మీరు చూడగలరు గా, ఇక్కడ పట్టింపు లేదు. కేవలం ఇది పట్టింపు లేదని మీరు చూపించడానికి చేస్తున్నాను. ఈ backquote వాక్యనిర్మాణంలో ఉంది. Backquote ఇక్కడ, ఇక్కడ backquote గమనిక. నేను ఇక్కడ ఈ విషయాలు పక్కనపెట్టి వెబ్. ఈ ఏమి చెప్పి కేసులు ఉన్నాయి టెర్మినల్స్ కొన్ని రకాల విషయంలో - ఈథర్నెట్, నెట్వర్క్, డయలప్, మీరు ఏమి. మేము నిజంగా ఈ విషయాలు ఏ చేయడం లేదు ఎందుకంటే ఇది ఇక్కడ పట్టింపు లేదు. నేను కమాండ్ చిత్రీకరించడంలో వెబ్. నేను backquote ఈ చేస్తే, నేను పొందడానికి వెళ్తున్నాను? ఈ సెట్ noglob మరియు సెట్ noglob చేర్చిన ఇక్కడ గమనించవచ్చు, కాబట్టి ప్రస్తుతం నిర్వచనం పునరావృత్తమవుతాయి. ఆ ఎప్పుడూ నిజం కాదు, కానీ ఇప్పుడు వారు ఈ ఆదేశం చేర్చారు చేస్తున్నారు. కానీ యొక్క నేను అలా ఉంటే ఏమి చూడండి మరియు ఒక తో లైన్ ప్రారంభంలో వెళ్ళండి మరియు నేను అలా. సరే, సెట్: కమాండ్ దొరకలేదు. ఆ రకమైన బేసి, అనుకుంటున్నావు? సెట్ ఒక ప్రసిద్ధ కమాండ్. ఇది షెల్ భాగం. సెట్: కమాండ్ దొరకలేదు? ఎందుకు అని? అయ్యో. సరే, అధికమవుతారు. ఇది ఒక backquote ఆదేశం ప్రత్యామ్నాయం అమలు, మరియు ఆ ఆదేశం పార్సింగ్ క్రమం యొక్క ఒక నిర్దిష్ట భాగం జరుగుతుంది. సెట్ ఒక అంతర్నిర్మిత కమాండ్. కాబట్టి ఆ ఆదేశం ప్రత్యామ్నాయం చేస్తుంది సమయానికి, ఇది ఇప్పటికే అంతర్నిర్మిత ఆదేశాలను గుర్తించడం దాటకుండా సంపాదించిన యొక్క. కనుక ఇది మార్గంలో ఒక ఆదేశాన్ని ఉన్నట్లయితే సెట్ భావిస్తుంది. చెప్పనవసరం, ఇది కనుగొనేందుకు లేదు మరియు మీరు లోపం. బాగా. పార్సింగ్ క్రమం యొక్క ఒక ఉదాహరణ ఉంది. మరియు మేము గురించి ఏమి చేస్తారు? Eval, ఇక్కడ ఈ ఆసక్తికరమైన ఆదేశం గమనించండి. నేను ఆ ఏమి వండర్. మీరు మానవీయ చూడండి - మరియు లెట్స్ కేవలం అలా ఈ పుస్తకాలు ఎంత గందరగోళంగా చూపించడానికి - వ్యక్తి tcsh, గందరగోళం మాన్యువల్, ఇక్కడ విషయాలు కనుగొని గాని సులభం కాదు. ఇక్కడ మేము eval నూతన, వెళ్ళి, కాబట్టి మేము 1 లేదా ఎక్కువ వాదనలు ఉన్నాయి మరియు విషయాల జాబితా లేరు. చిప్ప ఇన్పుట్లను వాదనలు భావిస్తుంది మరియు ప్రస్తుత షెల్ యొక్క సందర్భంలో ఫలితంగా ఆదేశాలను అమలు. ఈ సాధారణంగా కమాండ్ యొక్క ఫలితంగా ఉత్పత్తి ఆదేశాలను ఉపయోగిస్తారు లేదా వేరియబుల్ ప్రత్యామ్నాయం పార్సింగ్ ఈ ప్రత్యామ్నాయాలను ముందు జరుగుతుంది ఎందుకంటే. చాలా మంచి. మరియు ఇక్కడ వారు కూడా ఒక నమూనా ఉపయోగం కోసం tset ఆదేశం చూడండి ఒక వంటి నేను మీరు చూపించారు. ఇప్పుడు నేను తిరిగి ఉపయోగకరమైన స్థానానికి విండో తీసుకురావాలి. యొక్క ఇక్కడ పొందుటకు మరియు మేము ఆ eval కేవలం ఆ ముందు ఉపయోగిస్తారు చూస్తారు. ఇక్కడ ఆ ఆదేశం బాణాలు తో వెళ్ళి - కాబట్టి యొక్క మేము ఉంచితే ఏమి చూడండి మరియు ప్రారంభానికి కంట్రోల్ ఒక, eval. సరే, అది పనిచేస్తుంది. మీరు eval చేసినప్పుడు, అది తర్వాత వస్తుంది ఏమి తీసుకుని ఒక ఆదేశం చేస్తుంది. ఈ మీరు తప్పనిసరిగా రెండుసార్లు అన్వయించడం సాధ్యం. ఇక్కడ విభాగం, backquotes లోపల ఈ ఆదేశం నడుస్తుంది అవుట్పుట్ గెట్స్. అవుట్పుట్ ఈ వంటి ఇక్కడ ఆ ఆదేశాలను అమలు చేయవలసి ఈ ఒక మరియు ఈ ఒక. కాబట్టి ఆ ఆదేశాలను ఇప్పుడు ఇక్కడ ఈ క్రమంలో ఉంటాయి, కానీ ఈ ఆదేశాలను నిర్మించిన మరియు అది వెంటనే వాటిని పొందలేము. కాబట్టి మేము eval వెళ్ళండి, eval, ఆ కధ మళ్లీ మొత్తం విషయం మొదలవుతుంది, మరియు అది పని. ఒక ఉదాహరణ backquoting రెండు, eval, పార్సింగ్, పార్సింగ్ పరిణామాలు, మరియు బహుశా రోజుల్లో మీరు చాలా తక్కువ వాడకం ఇది కమాండ్. సరే. అన్ని కుడి, umask. , యొక్క ఇక్కడ ఈ ఆదేశం చూద్దాం 022 umask. నేను ఆ ఏమి వండర్. యొక్క దీనిని తర్వాత ఏమీ తో umask టైప్ తెలియజేయండి. 22. సరే. 022 మరియు తిరిగి చేస్తున్నాయి. మీరు ఊహించిన విధంగా, ఏ వాదనలు తో umask మీరు ప్రస్తుత ముసుగు చెబుతాడు; వాదనలు తో umask ఇది చేస్తుంది, కానీ నేను ఇప్పటికే ఒకటి. 022 అర్థం ఏమిటి? ఈ ఇక్కడ ఒక ఫైల్ రక్షణలు ఉన్నాయి. వారు ఫైల్ చదవడానికి లేదా వ్రాయడం లేదా అమలు అనుమతించడంలో గుర్తించడానికి. ప్రొటెక్షన్స్ కూడా అనుమతులు అంటారు. r, చదువు, వ్రాయు కోసం w ఉన్నచో మరియు అక్కడ ప్రస్తుతం లేదు, x,, అమలు ఉన్నచో. అక్కడ 3 వర్గాలు ఉన్నాయి. గత 3 అంశాలు యూజర్ యొక్క వర్గంలో ఉన్న. ఆ, నాకు యూజర్ దరఖాస్తు. ఇక్కడ ఈ 3 సమూహానికి అనువర్తనం. ఫైలు 1 బృందం చెందుతుంది, వినియోగదారు అనేక సమూహాలు చెందవచ్చు, కానీ వినియోగదారు ఈ ఫైలు చెందినది LEAID సమూహంలో ఉంటే, అతను యూజర్ లేకుంటే అప్పుడు ఈ రక్షణలను అతనికి అనువర్తిస్తుంది. మరియు ఈ ఒక ప్రతిఒక్కరికీ. ఈ వర్గాలు పరస్పరం. యూజర్ రక్షణలు అతనికి దరఖాస్తు, సమూహం రక్షణలు, యూజర్ కంటే ఇతర గుంపు సభ్యులకు దరఖాస్తు మరియు ఇతర సంరక్షణ మాత్రమే వాడుకరి మరియు సమూహ సభ్యులు కంటే ఇతర వ్యక్తులకు దరఖాస్తు. ఒక r లేదా ఆధా లేదా ఒక x, అది రక్షణ మంజూరు అర్థం. అడ్డగీత ఉంది, అది కాదు అర్థం. నిజానికి ఈ పాటు ఇక్కడ పెట్టే విధంగా ఇతర విషయాలు, ఉన్నాయి ఇది నేను ఇప్పుడు అందదు. umask మీరు సృష్టించే ఫైళ్లు కోసం ఒక డిఫాల్ట్ నిర్వచిస్తుంది. మరియు ఒక ముసుగుగా, ప్రాథమికంగా మీరు సెట్ లేని బిట్స్ చెప్పారు. ఎలా ఈ బిట్స్ మారింది? మీరు ఒక ఆక్టల్ సంఖ్య వీరందరిలో ప్రతి భావిస్తారు, ఉంటే ఈ, 1s బిట్ ఈ 2S, ఈ 4s ఉంది. కాబట్టి 0 7 ద్వారా ఈ 3 కోసం మీరు r యొక్క ఏ కలయిక, w యొక్క, మరియు x యొక్క వర్ణించలేనిది మరియు ఈ మరియు ఈ కోసం కోసం ఇదే సంఖ్య. కాబట్టి 022 ఇతర కోసం 0, సమూహం కోసం 2, యూజర్ కోసం 2 అర్థం. కానీ ఈ ఒక ముసుగు ఉంటుంది. ముసుగు మీరు లేదు ఏమిటి. క్షమించండి. నేను తప్పు క్రమంలో మీరు విషయాలు ఇచ్చింది. ఇది మొదటి 3 వార్తలు. ఈ 3 వినియోగదారు, ఈ 3 వర్గమే, ఈ 3 ఇతర ఉన్నాయి. క్షమించాలి నేను తప్పు క్రమంలో మీరు ఈ ఇచ్చింది. ఆ మొదటి ఇది 0,,, విలువ కనిపించకపోతే అనేక లేదు, అది ఒక 0 ఉంది. ఈ అన్ని 3 అనుమతించటాన్ని అర్థం. ఈ ప్రత్యేక ఒక x అనుమతి లేదు అని గమనించండి. కారణం షెల్ నిర్ణయించే సామర్థ్యం ఉంది అని ఒక ఫైల్ అమలు లేదా చేయాలి. ఈ ఒక ఎక్జిక్యూటబుల్ ఫైల్ కాదు, ఇది x సెట్ లేదు. ఇక్కడ అనుమతి, రెండో విభాగంలో వ్రాసే 2 మార్గాల, మధ్యలో ఒక, తిరస్కరించబడింది. మరలా, ఈ ఖండించారు విషయాలే. బాగా, x అనుమతి కానీ అది executable కాదు ఎందుకంటే ఇది ఇక్కడ కాదు ఉంది మరియు అదేవిధంగా ఇతరులు. కాబట్టి ఒక సాధారణ umask ఉంది. మరొక సాధారణ ఒక 700 ఉంది - ప్రతిదీ మీరే మరియు ప్రియ ఏదైనా ఇవ్వాలని. మరియు ఇతర అవకాశాలు ఉన్నాయి. తిరిగి వెళ్తాను. నేను అక్కడ lwh, ఆ కోసం తిరిగి శోధించవచ్చు చరిత్రను ఉపయోగించి. సరే. ఇక్కడ, ఈ షెల్ల్స్. బాష్, వ్యవస్థ ఖాతా అయిన యజమాని, ప్రతిదీ చేయవచ్చు. గ్రూప్ అందరి చదవండి లేదా అమలు కానీ రాయలేదు చేయవచ్చు. ఈ ఒక కూడా యజమాని వ్రాయడానికి అనుమతించదు. యజమాని,, దానికి వ్యవస్థ ఖాతా రాయడానికి కోరుకున్నాడు ఉంటే అతను మొదటి రక్షణ మార్చవలసి. కానీ మళ్ళీ, umask ఇది మాస్కింగ్ ద్వారా డిఫాల్ట్ సెట్స్, సెట్ లేదని బిట్స్ సూచించడం ద్వారా. ఈ C-shell కోసం. Cshrc ఇది, మీ ప్రారంభ ఫైళ్లు ఒకటి ఉండేది లేదా బోర్న్-రకం గుండ్లు కోసం. ప్రొఫైల్. కంప్యూటరులో ప్రారంభ ఫైళ్లు ఉన్నాయి ఉంటే ఇది చోట్ల ఉంటుంది. ఏమైనా, ఆ umask ఉంది. ఇక్కడ విచిత్రమైన ఏదో రకమైన, ఉంది ఇంకా ఎందుకు ఒకే ఆదేశం కోసం ఉంది, ఉంది? నేను ఈ రాసే ఉంటే, నేను ఒక వేరియబుల్, umask = కొన్ని విలువ చేస్తుంది. ఎందుకు మొత్తం ఆదేశం ఈ ప్రయోజనం కోసం ఉంది? కారణం కేవలం తిరిగి Unix యొక్క మూలాలు వెళ్తాడు ఉంది. Unix 1970 లో బెల్ ల్యాబ్స్లో కొన్ని ప్రోగ్రామింగ్ ప్రాజెక్ట్. ప్రజలు కేవలం కార్యక్రమం కలిసి వచ్చింది. వారు ఇది ప్రపంచ ఆపరేటింగ్ సిస్టమ్ మారింది ఉద్దేశించబడింది ఎప్పుడూ. ఊరంతా చాలా ఆలోచించకుండా వివిధ ప్రాంతాల రాశారు స్కెచ్లపై - ఎలా వారు ఉపయోగించవచ్చు ఉండేవి. మరియు ఆ వంటి కలిసి వచ్చింది, మరియు అది కొన్ని అంశాలలో ఆ వంటి ఇప్పటికీ. కాబట్టి ఆ చరిత్రను ప్రతిబింబిస్తుంది, మరియు ఈ అసమానతలను మరియు అది బేసి ఇప్పటికీ ఉన్నాయి. సరే. ఇక్కడ తదుపరి. నేను ముందు రాసిన విధంగా, C-shell నిజంగా, ప్రోగ్రామింగ్ కోసం చాలా ఉపయోగించని ఇది ఉంటుంది, అయితే. ఇది, నెమ్మదిగా, మళ్ళీ ఇంటరాక్టివ్ మధ్య రాజీ అమలు ఇది వేగం కంటే చేరి మరింత ప్రాసెసింగ్ ఉంది, ఇది ప్రాసెసింగ్ లేకుండా చేయవచ్చు. కార్న్ మరియు బోర్న్ తిరిగి గుండ్లు బోర్న్ షెల్ జోడించబడింది అదనపు లక్షణాలు వాటిని వేగాన్ని కనిపించడం లేదు, మరియు ఆ ఎందుకు నాకు తెలీదు. ఇది కేవలం మంచి ప్రోగ్రామింగ్ కావచ్చు, కానీ నాకు తెలుసు స్థితిలో తెలియదు. ఇది పేర్కొనబడింది ఇక్కడ వేగవంతం నిజానికి, ఒక పెద్ద ఒప్పందం కాదు. కారణం షెల్ స్క్రిప్ట్లను అతి వేగంగా పొందండి ఉంది. వంటి ఆదేశాలను చాలా, ఒక calculational కార్యక్రమంలో ఉంటే మీరు బహుశా ఒక షెల్ స్క్రిప్టు లో చేయరు. కార్యకలాపాలు నిరాడంబర మరియు ముక్కుసూటి ఉన్నాయి. చాలా నెమ్మదిగా అని నేను ఎదుర్కొని వాటిని నెమ్మదిగా ఆదేశాల పదేపదే ఉంటాయి. గతంలో నేను sed ప్రవాహం ఎడిటర్ పేర్కొన్నారు. ఆ ఆదేశం నెమ్మదిగా ఉంది. మీరు కానీ అనేక సార్లు అమలు, మీరు నెమ్మదిగా స్క్రిప్ట్ పొందుతారు, కానీ నెమ్మదిగా అని షెల్ కాదు. బోర్న్ షెల్ లో రన్, C-shell లో రన్ కంటే వేగంగా ఉండదు కొన్ని ప్రయోజనాలు అక్కడ ఉండవచ్చు లేదు, అయితే. అదనపు ప్రోగ్రామింగ్ సామర్థ్యాలు, మరోవైపు, మీరు బోర్న్-రకం పెంకులు ఉపయోగించడానికి ఎందుకు ముఖ్యమైన కారణాలున్నాయి. సి-పెంకు బేసి లక్షణాలను కలిగి - ఒక వేరియబుల్ షెల్ వేరియబుల్ లేదా వాతావరణంలో వేరియబుల్ ఉంటే మీరు తెలియదు వాస్తవం. ఇది చాలా గందరగోళంగా ఉంది. వ్రాయుటకు అంత సులభం కాదు కేవలం ఇతర భాషలలో ప్రోగ్రామింగ్ మీ అనుభవం ఆధారంగా. నేను మీరు మీ అనుభవాన్ని బోర్న్-రకం పెంకులు మరింత స్థిరమైన కనుగొనవచ్చు అనుకుంటున్నాను. కొన్ని స్క్రిప్ట్, అయితే, పొడవు రేఖల వేల ఉండవచ్చు. నేను చూసిన ఆ ఆపరేటింగ్ వ్యవస్థలు patching కోసం వాడతాము. ఆ చాలా నెమ్మదిగా అమలు చెయ్యవచ్చు, కానీ మీరు చాలా తరచుగా ఆ అమలు లేదు. మీరు Patching చేస్తున్న మాత్రమే ఉంది, మరియు ఇది ఆ క్రియలను చేసిన కంప్యూటరు మేనేజర్, కాబట్టి ఇది ఒక సమస్య నిజంగా కాదు. పంక్తులు వందల అని ఆ కాలం అతి త్వరగా అమలు. ఇక్కడ ఈ ప్రస్తుతించారు ఆ విస్తరింపులను ఏవి? శ్రేణులను లెక్కలు, - నేను ఇప్పటికే వాటిలో కొన్ని పేర్కొన్నారు చేసిన $ (బాష్ షెల్ లో లెక్కల కోసం) వ్యక్తీకరణ, కమాండ్ ప్రత్యామ్నాయ ఇతర రకమైన. పరీక్ష ఆదేశాలను వివిధ రకాల ఉన్నాయి ఇది మీరు ఒక ఫైల్ లేదా ఇతర విషయాలు ఉనికి నియత పరీక్షలు చేయవచ్చు. ఇక్కడ చివరి, ఇక్కడ ఈ ఆదేశం. ఈ ఏమి చేస్తుంది, మరియు ఎందుకు దీన్ని ఉపయోగించే? printenv variablename. మేము printenv చేస్తుంది ఏమి. ఇది మాకు ఒక వేరియబుల్ విలువ చెబుతుంది. అలాంటి వేరియబుల్ ఉంది ఎందుకంటే మరియు printenv variablename మాకు చాలా చెప్పదు. ఖాళీ. కానీ యొక్క ఇది అర్ధవంతమైన ఏదో ఇస్తాను. ఆ గాని అక్కడ కాదు. సరే. నేను నిర్దేశింపబడిన ఎప్పుడూ అంచనా. అందుకు వాతావరణంలో తనిఖీ లెట్. ఈ మీ వాతావరణం తనిఖీ చేసే మరొక ఆదేశం. మంచి పాత ఎడిటర్, మేము ముందు చూసిన ఒక ఉంది. ఆ ఏమి చేస్తుంది? ఇక్కడ మేము ఒక backquote వ్యక్తీకరణ కలిగి. ఈ C-shell గుర్తుంచుకో. కాబట్టి printenv సంపాదకుని మాకు సంపాదకుడు ఒక విలువ ఇస్తుంది. ఇది vi ఉంది. అది వేరియబుల్ ఒక, సెట్ ఆదేశానికి ఆ విలువ సెట్ చేస్తుంది. నేను echo $ ఒక లేకపోతే కాబట్టి ఇప్పుడు, నేను vi పొందండి. ఆ భయంకరమైన ఉపయోగకరం కనిపించడం లేదు. అయితే, ఇది నిజానికి ఒక ప్రయోజనం కలిగి. మేము ఒక వేరియబుల్ షెల్ వేరియబుల్ లేదా వాతావరణంలో వేరియబుల్ అనే తెలియదు కాబట్టి డాలర్ సైన్ అంచనా సింటాక్స్ ఉపయోగించి, మేము printenv ఉపయోగించవచ్చు ఇది వాతావరణంలో వేరియబుల్ నిర్ధారించుకోండి. షెల్ వేరియబుల్ ఎడిటర్ ఉన్నాయి ఉంటే, ఈ సంపాదించిన కాదు. ఈ మాత్రమే పర్యావరణం వేరియబుల్ పనిచేస్తుంది. ఒక షెల్ వేరియబుల్ మరియు నేను దాని విలువ కోరుకుంటే, నేను దీన్ని కొన్ని ఇతర మార్గం కనుగొనేందుకు భావిస్తాను. అలా ఒక విధంగా సెట్ మరియు పైపింగ్ చేయడం ద్వారా ఉంటుంది. ఈ metacharacters, ప్రత్యేక అక్షరాలు ఒకటి. ఇది ఏదో సెట్ అవుట్పుట్ పంపుతుంది. యొక్క మేము అక్కడ కలిగించే ఏమి చూద్దాం. ఏమీ. సరే. యొక్క అన్ని కలిసి అక్కడ లో చూద్దాం. ఇది echo_style, నేను ముందు చెప్పినట్లుగా ఒకటి. సరే, అలా చేసుకుందాం. నేను echo_style, ముందు పేర్కొన్న గుర్తుంచుకో echo ఆదేశాన్ని చేస్తారన్న నిర్ణయిస్తుంది. BSD బర్కిలీ ప్రామాణిక పంపిణీ ఉన్నచో. ఈ 1970 నుండి బర్కిలీ Unix ఉంది. ఆ నిర్వహించినప్పటికీ ప్రతిధ్వని ఆ మార్గాలను ఒకటి. TC-షెల్ లో ఆ విలువ echo_style చేస్తోంది ప్రతిధ్వని ఆ విధంగా ప్రవర్తిస్తాయి చేస్తుంది. , ఆ చేస్తుంది సెట్ కానీ నిర్ణయాలన్నీ షెల్ వేరియబుల్స్ గెట్స్. ఇది షెల్ వేరియబుల్ కాదు సంపాదకుని, వుంటాయి. ఏమీ. కాబట్టి ఆ వాటి వ్యత్యాసాలను ఒక మార్గం. కానీ మీరు కలిగి వాస్తవం వంటి కొన్ని వింత ఆదేశం ద్వారా వెళ్ళడానికి షెల్ వేరియబుల్స్ లేదా పరిసరం మధ్య విభజన కొన్ని ప్రయోజనాల కోసం C-షెల్ అసాధ్యమని ప్రకృతి రకమైన చూపిస్తుంది. ఇప్పుడు, గత మరియు బహుశా కనీసం, ఈ మనిషి పేజీలు. మీకు తెలిసిన వారు ఆ, మనిషి మాన్యువల్ కోసం ఆదేశం చిన్నది. పెంకులు కోసం మాన్ పేజీలు చదవడానికి కష్టం. వారు చాలా ఉన్నారు. వారు క్లిష్టమైన మీరు చూస్తున్న ఏమి కనుగొనేందుకు చేయడానికి ఆ విధంగా నిర్వహించిన చేస్తున్నారు. కాబట్టి మీరు ఒక ఉద్దేశ్యంతో ఏదో కోసం చూస్తున్న అయితే, ఆ పనికి షెల్ వేరియబుల్ లేదా ఏదో ఉంటే మీరు, తెలియదు కాబట్టి మీరు పేరు కోసం చూడండి తెలియదు. మీరు కటారి చూడవచ్చు, కానీ తీగలను తరచుగా పునరావృతం. కనుక ఇది సాధారణంగా చదవడం కష్టం. మేము కేవలం eval ఆదేశం కనుగొనడానికి కొంచెం ముందు TC-shell వ్యక్తి పేజీ చూశారు. కొన్ని విషయాలు వేగంగా వెళ్ళి. ఒక విధానంలో స్ట్రింగ్ కోసం శోధన ఉంది. మీరు పేజర్ ఉపయోగించవచ్చు. పేజర్ ఒక పేజర్ ఆపరేషన్ లోపల ఒక కమాండ్ లేదా స్ట్రింగ్ కోసం చూడండి స్లాష్ ఉంది. అప్రమేయంగా మాన్ సమానమే అయి, పేజర్ల ఉపయోగిస్తుంది. ఆ తెలిసిన అయితే నాకు తెలీదు, కానీ ఆ బిట్ ఫైళ్లు బిట్ చూపుతుంది. మనం ఇక్కడ పొందారు ఈ నిర్దిష్ట ఫైళ్లు ప్రదర్శించడానికి తక్కువ ఉపయోగిస్తున్నాను. మీరు అక్కడ లోపల శోధించవచ్చు. మీరు వివిధ శోధన తీగలను ఉపయోగించి ప్రయత్నించవచ్చు. అలాగే వివిధ ఆపరేటింగ్ వ్యవస్థలలో మాన్ పేజీలు ఉండకూడదు. వారు CSH మరియు tcsh కోసం ప్రత్యేక పేజీలు ఉంటుంది. వారు Mac లో కాదు, కానీ ఆ ప్రత్యేక ఆదేశాలను ఉంటే వారు ఉండవచ్చు. Sh నిజంగా బాష్ కోరలేదు, బహుశా ఒక ప్రత్యేక వ్యక్తి పేజీ ఉండొచ్చు. కొన్ని వ్యవస్థలు కేవలం C-shell అంతర్నిర్మిత ఆదేశాలను కోసం ప్రత్యేక వ్యక్తి పేజీల ఉన్నాయి. కొన్నిసార్లు మీరు ఒక అంతర్నిర్మిత ఆదేశం యొక్క వివరణ చదవాలనుకుంటున్న ఆ మార్గంలో కూడా, echo వంటి, మీరు echo ఆ ఆదేశం వ్యక్తి పేజీ చదవడానికి అవసరం ఇది ఒక అంతర్నిర్మిత ఆదేశం వంటి ఎంత గుర్తించడానికి మీరు అంతర్నిర్మిత ఆదేశం కాల్ లేదు కూడా. సాధారణ ఆపరేటింగ్ సిస్టమ్ యొక్క లోపం ఉంది, పెంకులు కోసం మాత్రమే, పెంకులు కోసం ముఖ్యంగా మాన్ పేజీలు, చాలా కాలం ఉన్నప్పటికీ కారణం అవి అనుకూల ఉండవచ్చు, వారికి ఉపయోగపడే ఫీచర్లను జోడించిన. సరే. ఏ ప్రశ్నలు ఉన్నాయా? మీరు అప్ తీసుకుని కావలసిన విషయాలు? ఇక్కడ సంబంధిత ఏదైనా? సరే, మీరు మాట్లాడటం మంచిపని అయ్యింది. నేను మీరు ఈ సదస్సు బయటకు ఏదో వచ్చింది ఆశిస్తున్నాము మీ భవిష్యత్తు ప్రయత్నాలను మీరు ఉపయోగకరంగా ఉంటుంది. [CS50.TV]