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.

2
Przydziały są jak polecenia ze statusem wyjścia, z wyjątkiem sytuacji, gdy istnieje zamiana poleceń?
Zobacz następujące przykłady i ich wyniki w powłokach POSIX: false;echo $?lub false || echo 1:1 false;foo="bar";echo $?lub foo="bar" && echo 0:0 foo=$(false);echo $?lub foo=$(false) || echo 1:1 foo=$(true);echo $?lub foo=$(true) && echo 0:0 Jak wspomniano w najczęściej głosowanej odpowiedzi na /programming/6834487/what-is-the-variable-in-shell-scripting : $? służy do znalezienia wartości zwracanej ostatnio wykonanej …




4
Dlaczego mój program o nazwie „set” nie jest wykonywany?
Stworzyłem prosty program C taki jak: int main(int argc, char *argv[]) { if (argc != 5) { fputs("Not enough arguments!\n", stderr); exit(EXIT_FAILURE); } I mam zmienioną PATH w etc / bash.bashrc w następujący sposób: PATH=.:$PATH Zapisałem ten program jako set.c i kompiluję go gcc -o set set.c w folderze ~/Programming/so …

2
Zastąp bieżący proces jego koprocessem / dzieckiem
Mam program, Pktóry oczekuje na otrzymanie „Cześć” i wyjście „Dlaczego?” przed udostępnieniem funkcji. Ta funkcja jest używana przez inne programy, które nie zdają sobie sprawy z tego, że rozpoczęcie rozmowy z „Cześć” jest powszechne. Dlatego chcę napisać opakowanie, Pktóre działa w ten sposób (składnia zsh): coproc P print -p Hello …
10 shell  scripting  process  zsh 

3
Wykonuj polecenie co X sekund
Chcę wykonać polecenie co 10 sekund i wykonać je w tle (eliminując w ten sposób watch?). Wszystkie odpowiedzi pokazują coś podobnego do poniższego, ale będzie to działać zawsze od 11 do 14 sekund. Jak można tego dokonać? while true; do # perform command that takes between 1 and 4 seconds …


2
Przestrzenie nazw powłoki
Czy istnieje sposób na sourceskrypt powłoki w przestrzeń nazw, najlepiej skrypt powłoki bash, ale sprawdziłbym inne powłoki, gdyby miały tę funkcję, a bash nie. Rozumiem przez to, na przykład, coś w rodzaju „przedrostek wszystkich zdefiniowanych symboli czymś, aby nie kolidowały z już zdefiniowanymi symbolami (nazwy zmiennych, nazwy funkcji, aliasy)” lub …
10 shell 


6
Usuwanie plików ze spacjami w ich nazwach
Próbuję usunąć wszystkie pliki ze spacjami w nazwach. Korzystam z następującego polecenia. Ale to daje mi błąd Komenda : ls | egrep '. ' | xargs rm Tutaj, jeśli używam tylko ls | egrep '. 'polecenia, daje mi całą nazwę pliku ze spacjami w nazwach plików. Ale gdy próbuję przekazać …
10 shell  quoting  rm  xargs 

1
Śledź określone parametry na niektórych poleceniach
Powiedzmy, że mam na przykład polecenie git branch(zawsze z kilkoma słowami). Chcę śledzić, kiedy to polecenie jest wykonywane z argumentami. Na przykład, jeśli wykonam polecenie git branch developbez błędów, chcę zapisać developplik. Próbowałem zastąpić polecenie git na moim .bash_profile, coś takiego: git () { if [ $# -eq 3 ] …
10 bash  shell  function 

5
Zmień strefę czasową współdziałania
Mam cronjob, który jest wykonywany codziennie o 9:00 czasu UTC. Jestem w GMT + 1, więc wykonuje się o godzinie 10:00 czasu lokalnego. Gdy nastąpi zmiana strefy czasowej (na czas letni, DST), cronjob wykonuje się nadal o godzinie 9:00 czasu UTC, ale o godzinie 11:00 czasu lokalnego. Ale chcę, aby …
10 shell  cron  timezone 

3
Przekazanie skryptu poleceniem „read” do bash
Muszę uruchomić skrypt przez potokiem to przez bashz wget(raczej niż uruchomienie go bezpośrednio z bash). $ wget -O - http://example.com/my-script.sh | bash To nie działa, ponieważ mój skrypt zawiera readinstrukcje. Z jakiegoś powodu nie działają one podczas wysyłania potoku do bash: # Piping to bash works in general $ echo …
10 bash  shell  pipe  read 


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.