Pytania otagowane jako shell

Powłoka jest interfejsem wiersza poleceń Uniksa. Możesz pisać polecenia w powłoce interaktywnie lub pisać skrypty automatyzujące zadania. Użyj tego znacznika do pytań dotyczących / bin / sh i najbardziej kompatybilnych powłok (ash, bash, ksh, zsh,…). Skrypty powłoki z błędami sprawdź je w http://shellcheck.net przed opublikowaniem tutaj.

4
dirname i basename vs interpretacja parametrów
Czy istnieje obiektywny powód, aby preferować jedną formę od drugiej? Wydajność, niezawodność, przenośność? filename=/some/long/path/to/a_file parentdir_v1="${filename%/*}" parentdir_v2="$(dirname "$filename")" basename_v1="${filename##*/}" basename_v2="$(basename "$filename")" echo "$parentdir_v1" echo "$parentdir_v2" echo "$basename_v1" echo "$basename_v2" Produkuje: /some/long/path/to /some/long/path/to a_file a_file (v1 używa rozszerzenia parametrów powłoki, v2 używa zewnętrznych plików binarnych.)

3
czy potok ls jest taki sam jak ls -1?
lszwraca dane wyjściowe w kilku kolumnach, podczas gdy ls|catzwraca dane identyczne z bajtami ls -1dla katalogów, które próbowałem. Nadal widzę wiele ls -1odpowiedzi ls -1|wc -l. Czy jest jakiś powód, aby preferować ls -1? Dlaczego ...|catzmienia wyjście ls?
19 shell  ls 

1
echo [9876543210] wyświetla 1 4 5 6… dlaczego?
Proszę wyjaśnić, dlaczego 1 4 5 6 jest wyświetlany dla ostatnich czterech instrukcji echa? Uderzyłem to raz przypadkiem, ale teraz jestem ciekawy, dlaczego tak się dzieje. Te instrukcje działają zgodnie z oczekiwaniami (dla mnie). $ echo [ 9876543210 ] [ 9876543210 ] $ echo [237890] [237890] Te instrukcje echa konsekwentnie …

7
Losowe kolory i żarty w powłoce / terminalu
Widziałem osobę, która podczas korzystania z terminala generowała dowcip, zmieniała kolory i śmiała się z użytkownika. Powiedział coś w stylu przeciekających kolorów do konsoli od (roku). Nie pamiętam, co to było, ale chciałbym go użyć, ponieważ Kubuntu Konsole bardzo się nudzi po wielu godzinach użytkowania i chciałbym trochę ożywić. Wszelkie …




5
Polecenia do nauki o nieznanym systemie [zamknięte]
Zamknięte . To pytanie musi być bardziej skoncentrowane . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby skupiało się tylko na jednym problemie, edytując ten post . Zamknięte 4 lata temu . Logujesz się do nieznanego systemu UNIX lub Linux (jako root). Jakie polecenia uruchamiasz, aby się …

5
Po co używać diff / patch, skoro łatwiej jest po prostu użyć cp
diff -u file1.txt file2.txt > patchfile tworzy plik łatki, który składa się z instrukcji patchkonwersji pliku1.txt tak, aby był dokładnie taki sam jak plik2.txt Czy nie można tego zrobić za pomocą cppolecenia? Mogę sobie wyobrazić, że jest to przydatne, gdy plik jest zbyt duży i musi zostać przesłany przez sieć, …
19 shell  cp  diff  patch 

3
Kiedy piszę cd przez dowiązanie symboliczne, dlaczego pwd pokazuje dowiązanie symboliczne zamiast prawdziwej ścieżki?
Utworzyłem soft link ( ln -s 1 2) do katalogu, który znajduje się w testkatalogu, otworzyłem soft link ( cd 2) i wyświetlałem bieżącą ścieżkę za pomocą pwd. Wyświetlana ścieżka była ~/test/2i nie ~/test/1. Jest inaczej w systemie operacyjnym takim jak Windows, skrót prowadzi nas do prawdziwego katalogu. Jestem trochę …

4
Jak mogę wdrożyć cykliczny przepływ danych między połączonymi poleceniami?
Znam dwa typy łączenia poleceń: za pomocą potoku (wstawianie wyjścia std do wejścia std następnego polecenia). za pomocą trójnika (podziel wyjście na wiele wyników). Nie wiem, czy to wszystko, co jest możliwe, więc rysuję hipotetyczny typ połączenia: Jak można wdrożyć cykliczny przepływ danych między poleceniami, na przykład w tym pseudokodzie, …

9
Czy użycie „while true” do utrzymania skryptu przy życiu to dobry pomysł?
Właśnie wskakuję do unixa z innego świata i chciałem wiedzieć, czy while true do /someperlscript.pl done Sam skrypt perla wewnętrznie ma moduł obserwatora folderów / plików, który jest wykonywany, gdy pliki są zmieniane w lokalizacji docelowej. Czy to ( while true) dobry pomysł? Jeśli nie, jakie jest preferowane solidne podejście? …
19 shell  perl 


4
Jak przypisać wartości zawierające spację do zmiennych w bash za pomocą eval
Chcę dynamicznie przypisywać wartości do zmiennych za pomocą eval. Działa następujący przykładowy manekin: var_name="fruit" var_value="orange" eval $(echo $var_name=$var_value) echo $fruit orange Jednak gdy wartość zmiennej zawiera spacje, evalzwraca błąd, nawet jeśli $var_valuejest wstawiany między podwójnymi cudzysłowami: var_name="fruit" var_value="blue orange" eval $(echo $var_name="$var_value") bash: orange : command not found Jest jakiś …
19 bash  shell  quoting 

2
Jak tworzone są polecenia systemowe, takie jak ls?
Mam wątpliwości dotyczące * nix. Nie wiem ls, jaki jest typ pliku wykonywalnego , czy to jest .sh, .ksh, czy jakikolwiek inny systemowy plik wykonywalny, jeśli tak jest, co to jest? kiedy próbowałem zobaczyć ls, jak wygląda kod źródłowy polecenia, pokazuje coś nieczytelnego, jakiej metody używa * nix do tworzenia …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.