Zobaczmy, jak możemy sprawić, że nasz skrypt powłoki spowodował ten błąd i jak go rozwiązać. Zacznij od nowego pliku Bash utworzonego z zapytaniem Ubuntu „Touch” i otwórz go w ramach edytora „GNU Nano”.
$ Touch Sub.ciiPrzykład 01
Pierwszym powodem złego błędu podstawienia jest użycie niewłaściwej składni kodu. Spójrzmy na to. Począwszy od pierwszego kodu bash, dodaliśmy obsługę Bash w pierwszym wierszu skryptu Bash, i.mi., „#!/bin/bash ”. Następnie zainicjowaliśmy prostą zmienną „V” z poleceniem listy Ubuntu jako jej wartości. Ta wartość została wstawiona do kręconych nawiasów i ze znakiem „$”, aby uznać ją za polecenie powłoki. Następnie instrukcja Echo jest tutaj, aby po prostu wyświetlić wartość zmiennej „v” na powładzie. Nasz kod jest kompletny i gotowy do użycia.
Zapisaliśmy kod BASH i wróciliśmy do terminala po użyciu odpowiednio Ctrl+S i Ctrl+X. Wykonaliśmy ten nowo utworzony plik skryptu Bash z instrukcją „Bash” i otrzymaliśmy tutaj „Złą zastępowanie” na naszym ekranie. Ten błąd wystąpił z powodu użycia nawiasów kręconych „” wokół instrukcji listy w kodzie.
$ bash sub.ciiSpróbujmy zaktualizować nasz kod, aby rozwiązać ten błąd. Tak więc usunęliśmy kręcone wsporniki z drugiego wiersza kodu i zastąpiliśmy je prostymi nawiasami „()”, jak przedstawiono poniżej. Ogólnie kod pozostanie taki sam, jak nie ma problemu z kodem. Zapisz ten kod teraz.
Po wyjściu z edytora GNU Nano, wykonamy plik bash „sub.sh ”zaktualizowany kod za pomocą instrukcji„ bash ”, jak przedstawiono poniżej. Okazuje się, że zły błąd podstawienia został usunięty po aktualizacji kodu, a instrukcja listy włożona w zmienną „V” została pomyślnie wykonana. Polecenie listy wyświetlało wszystkie aktualne zawartość katalogu domowego, i.mi., pliki i foldery, na naszym ekranie powłoki.
$ bash sub.ciiPrzykład 02
Kolejnym powodem wystąpienia błędnych błędów podstawienia w BASH jest użycie niepotrzebnych przestrzeni podczas wykonywania niektórych zmiennych. Dlatego dodaliśmy obsługę Bash i zainicjowaliśmy zmienną „V” z instrukcją listy w niej jako wartości posiadanej przez proste nawiasy i znak dolara „$.„Po tym użyliśmy instrukcji„ Echo ”do wyświetlania zmiennej wartości„ V ”. Ale dodaliśmy zmienną „v” w instrukcji „echo” wraz z „przestrzenią” w nawiasach.
Po zapisaniu tego kodu wykonaliśmy ten plik bash z zapytaniem „Bash” w naszym terminalu, jak przedstawiono poniżej. Zwraca substytucję bash na 3r & D linia skryptu.
$ bash sub.ciiAby usunąć błąd z naszego kodu, musimy zaktualizować nasz kod. Tak więc ponownie otworzyliśmy plik i usunęliśmy dodatkową przestrzeń w kręconych nawiasach instrukcji „echo” jak poniżej.
Teraz, gdy kod został zaktualizowany i usunięto białą przestrzeń, musimy wykonać ten plik z instrukcją BASH przedstawioną poniżej. Po uruchomieniu pliku błąd złego podstawienia został usunięty, a instrukcja listy określona w zmiennej „V” została pomyślnie wykonana na terminalu po tym, jak instrukcja „echo” została wykonana w skrypcie Bash. Lista aktualnych plików i folderów katalogu domowego jest wyświetlana na naszym ekranie powłoki poniżej.
$ bash sub.ciiPrzykład 03
Ten błąd może również wystąpić z powodu użycia powtarzających się niechcianych znaków w kodzie. Próbowaliśmy więc zaktualizowanego kodu, aby uzyskać ten błąd na powładzie. W tym celu musimy dwukrotnie użyć znaku „$” w instrukcji „echo”, aby określić zmienną „v” do wykonania, która jest niewłaściwą składnią do tego. Ta zmienna „V” zawiera prostą instrukcję listy jako jej wartość. Ponieważ użyliśmy podwójnego logowania „$” do i wychodzących z kręconych nawiasów w oświadczeniu „Echo”, doprowadzi nas to do złego błędu podstawienia podczas wykonania.
Po uruchomieniu kodu z instrukcją BASH napotkaliśmy zły błąd podstawienia w wierszu 3 skryptu Bash na naszym ekranie powłoki.
$ bash sub.ciiUsuńmy zły błąd podstawienia z wykonania, aktualizując wiersz 3 kodu. Usunęliśmy wewnętrzny znak „$” w nawiasach kręconych z instrukcji „echo”.
Po usunięciu znaku „$” ponownie wykonaliśmy kod na powładzie za pomocą polecenia „Bash”. Błąd został usunięty, a lista plików i folderów została wyświetlona.
$ bash sub.ciiPrzykład 04
Miejmy nasz ostatni, ale nie najmniejszy przykład tego artykułu. Używamy dwóch zmiennych, x i y, zawierających lokalizację katalogu jako ich wartość. W instrukcji „echo” tego kodu używamy obu zmiennych do wydrukowania i oddzielania znaku „/”. Każda zmienna zawiera z nią znak dolara, a znak pojedynczy dolara jest również używany poza nawiasami kręconymi.
Zastosowanie kręconych nawiasów i znaków dolara spowodowało zły błąd podstawienia.
$ bash sub.ciiTak więc usunęliśmy kręcone wsporniki i znak dolara zewnętrznego, jak pokazano poniżej.
Ta wartość czasowa obu zmiennych została wyświetlona.
$ bash sub.ciiWniosek
Chodzi o ilustrację tworzenia kodu bash na błędy, powodujące błąd złego podstawienia podczas wykonywania. Omówiliśmy DO i nie, aby uniknąć błędu poprzez wykonanie różnych przykładów bash.