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
$ @ oprócz pierwszego argumentu
Muszę napisać skrypt powłoki, który działa w następujący sposób: ./myscript arg1 arg2_1 arg2_2 arg2_3 ....... arg2_# wewnątrz skryptu znajduje się pętla for for i in $@ Jednak, jak wiem, $ @ obejmuje 1 $ do $ (# -1 - 1). Ale dla mojego programu 1 $ różni się wyraźnie od …
36 bash  shell  scripting 

5
Jak odczytać cały skrypt powłoki przed jego uruchomieniem?
Zwykle po edycji skryptu wszystkie uruchomione skrypty są podatne na błędy. O ile rozumiem, bash (także inne powłoki?) Stopniowo odczytuje skrypt, więc jeśli zmodyfikowałeś plik skryptu zewnętrznie, zaczyna on odczytywać niewłaściwe rzeczy. Czy jest jakiś sposób, aby temu zapobiec? Przykład: sleep 20 echo test Jeśli wykonasz ten skrypt, bash przeczyta …
35 shell 

3
Zrozumienie backtick (`)
Wypróbowuję polecenie $ b=5; echo `$b`; -bash: 5: command not found ale nie drukuje 5 tak, jak powinno. Czego tu brakuje? Co oznacza `(backquote / backtick) w poleceniach? zdaje się mówić, że `ocenia polecenia wewnątrz i zamienia je na dane wyjściowe.


5
Dlaczego mój ~ / .bash_profile nie działa?
Używam Linux Mint. Moja powłoka logowania ( cat /etc/passwd | grep myUserName) to bash. Po uruchomieniu środowiska graficznego i uruchomieniu z niego emulatora terminali widzę, że .bash_profilenie jest on pozyskiwany (zmienne środowiska, które są exportw nim edytowane, nie są ustawione). Ale jeśli zaloguję się z konsoli tekstowej ( ctrl+ alt+ …
35 bash  shell  login  profile 

7
Różnica między 2> i 1> output.log a 2> i 1 | tee output.log
Chciałem poznać różnicę między następującymi dwoma poleceniami 2>&1 > output.log i 2>&1 | tee output.log Widziałem, jak jeden z moich kolegów używa drugiej opcji przekierowania. Wiem, co robi 2> i 1, moje jedyne pytanie brzmi: jaki jest cel używania tee, w którym można użyć prostego przekierowania „>”?

5
Jak możemy uruchomić polecenie zapisane w zmiennej?
$ ls -l /tmp/test/my\ dir/ total 0 Zastanawiałem się, dlaczego następujące sposoby uruchomienia powyższego polecenia kończą się niepowodzeniem? $ abc='ls -l "/tmp/test/my dir"' $ $abc ls: cannot access '"/tmp/test/my': No such file or directory ls: cannot access 'dir"': No such file or directory $ "$abc" bash: ls -l "/tmp/test/my dir": …
35 bash  shell  quoting  variable 

2
Jak zmienić csh na bash jako domyślną powłokę
Mam cshjako domyślną powłokę, jak pokazuje echo $SHELL. Chcę przejść na bashmoją domyślną powłokę. Próbowałem następujących metod bezskutecznie: Dzięki chshotrzymuję: chsh: can only change local entries; use ypchsh instead. Dzięki ypchshotrzymuję: ypchsh: yppasswdd not running on NIS master host ("dcsun2"). Mam tylko .chsrcw katalogu domowym i nie mogę znaleźć żadnych …
34 shell 



8
Jak mogę przełączać się między różnymi urządzeniami wyjściowymi audio za pomocą powłoki?
Używam laptopa z zewnętrznym monitorem z głośnikami. Kiedy monitor jest podłączony przez HDMI, mogę przełączać (używając GUI: Ustawienia dźwięku -> Sprzęt) pomiędzy normalnym wyjściem audio laptopa a wyjściem monitora. Powtarzam tę procedurę dużo czasu i zacząłem się zastanawiać, czy mogę ją zautomatyzować, czy zresztą wykonać ją szybciej za pomocą powłoki. …

3
Co oznacza: $ {param: = wartość}?
Przeczytałem następujące w Instrukcji obsługi Z-Shell : Synonimem „true” jest „:”; jest często używany w tej formie, aby podać argumenty, które mają skutki uboczne, ale których nie należy używać - coś w rodzaju : ${param:=value} który jest wspólnym idiomem wszystkich pochodnych powłoki Bourne'a. W rozszerzeniu parametru $paramjest podana wartość wartości, …
34 bash  shell  zsh 

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.