Włamałem się do wielu skryptów powłoki i czasami najprostsze rzeczy mnie zaskakują. Dzisiaj natknąłem się na skrypt, który szeroko wykorzystywał :wbudowane bash (dwukropek). Documenation wydaje się dość proste: : (a colon) : [arguments] Nie rób nic poza rozszerzaniem argumentów i przeprowadzaniem przekierowań. Status powrotu wynosi zero. Jednak wcześniej widziałem to …
W Wikipedii artykuł dla .sh mówi: Typ rozszerzenia pliku .sh znajduje się w powłoce Bourne'a . A co z innymi powłokami unixowymi? Wiem, że shebang jest używany w pliku do wskazania interpretera do wykonania, ale zastanawiam się: Jakie są zalety i wady rozszerzeń plików w porównaniu z brakiem rozszerzeń plików?
Istnieje kilka sposobów wykonania skryptu, z których znam: /path/to/script # using the path (absolute or relative) . script # using the . (dot) source script # using the `source` command Czy to więcej? Jakie są między nimi różnice? Czy są sytuacje, w których muszę korzystać z jednej, a nie drugiej?
Jaki jest najlepszy sposób (niezawodny, przenośny itp.), Aby sprawdzić, czy dany folder znajduje się w zamontowanym zdalnym systemie plików (nfs) w skrypcie powłoki? Szukam polecenia, które wyglądałoby następująco: chk-remote-mountpoint /my/path/to/folder
W skryptach bash: tworzymy zmienną, nazywając ją: abc=ok lub możemy użyć declare declare abc=ok co za różnica? i dlaczego bash oferuje tak wiele sposobów tworzenia zmiennej?
Chcę napisać skrypt, który przyjmuje .txtnazwę pliku jako argument, odczytuje plik linia po linii i przekazuje każdą linię do polecenia. Na przykład uruchamia się command --option "LINE 1", command --option "LINE 2"itd. Dane wyjściowe polecenia są zapisywane w innym pliku. Jak mam to zrobić? Nie wiem od czego zacząć.
Chcę przetestować skrypt za pomocą polecenia, które się nie powiedzie. Mógłbym użyć istniejącego polecenia ze złymi argumentami. Mógłbym również napisać prosty skrypt, który natychmiast kończy działanie z błędem. Oba są łatwe do zrobienia i działają dla mnie, ale jeśli istnieje standardowe polecenie do tego celu, chciałbym go użyć zamiast tego.
Myślałem, że następujące zgrupuje dane wyjściowe my_commandw tablicy wierszy: IFS='\n' array_of_lines=$(my_command); tak $array_of_lines[1]by odnosiło się do pierwszego wiersza na wyjściu my_command, $array_of_lines[2]do drugiego i tak dalej. Jednak powyższe polecenie wydaje się nie działać dobrze. Wydaje się, że dzieli także wynik my_commandwokół znaku n, jak już sprawdziłem print -l $array_of_lines, co, …
Jeśli skrypt.sh jest po prostu czymś typowym #!/bin/bash echo "Hello World!" Czy istnieje preferowany sposób uruchomienia skryptu? Myślę, że najpierw musisz go chmod, aby stał się wykonywalny?
Próbuję rekurencyjnie znaleźć największy plik w katalogu. Jeśli w tym katalogu znajduje się podkatalog, funkcja musi wejść do tego katalogu i sprawdzić, czy jest tam największy plik. Po znalezieniu największego pliku wyświetlane są dane wyjściowe z względną nazwą ścieżki oraz nazwą i rozmiarem największego pliku. DAWNY: dude@shell2 (~...assignment/solutions) % bash …
Czytałem skrypt bash, który ktoś stworzył i zauważyłem, że autor nie używa eval do oceny zmiennej jako polecenia Autor użył bash -c "$1" zamiast eval "$1" Zakładam, że używanie eval jest preferowaną metodą i prawdopodobnie i tak jest szybsze. Czy to prawda? Czy jest jakaś praktyczna różnica między nimi? Jakie …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.