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.


1
pośrednie rozszerzanie zmiennych w POSIX-ie w bash?
Czy jest to możliwe, czy jest jakiś elegancki hack, aby dokonać pośredniej rozbudowy zmiennych w POSIX, jak można to zrobić w Bash? W kontekście próbuję wykonać następujące czynności: for key in ${!map_*} do # do something done EDYCJA: Aby to wyjaśnić, chciałbym uzyskać dostęp do zmiennych powłoki, które zaczynają się …

3
Skopiuj plik z folderu współdzielonego Windows do Uniksa
Jestem całkowicie nowy w Uniksie. Piszę skrypt, który skopiuje pliki z folderu współdzielonego systemu Windows do systemu Unix. W systemie Windows po \\Servername.com\testfolderwpisaniu polecenia Uruchom widzę testfolder. Katalog testfolderjest folderem współdzielonym przez całą sieć. Teraz chcę skopiować niektóre pliki z tego testfolderna komputer z systemem Unix. Jakiego polecenia powinienem użyć? …
11 shell  samba  file-copy 

3
bash: unikaj pojedynczych linii od echa `-x`
Czy podczas uruchamiania z -xopcją możliwe jest wyłączenie poszczególnych poleceń z echa? Staram się, aby wynik był jak najbardziej schludny, więc uruchamiam niektóre części mojego skryptu w podpowłoce set +x. Jednak set +xsam wiersz jest nadal powtarzany i nie dodaje żadnych cennych informacji do wyniku. Pamiętam, że w dawnych, złych …
11 bash  shell  debugging 

4
Pomiń pierwsze 3 bajty pliku
Używam powłoki ksh AIX 6.1. Chcę użyć jednej wkładki, aby zrobić coś takiego: cat A_FILE | skip-first-3-bytes-of-the-file Chcę pominąć pierwsze 3 bajty pierwszego wiersza; czy jest na to sposób?


4
Rekurencyjnie zmieniaj nazwy podkatalogów pasujących do wyrażenia regularnego
Mam serwer multimediów z folderem o nazwie Series. ( /media/Expansion2/Series/) W nim mam (niespodzianka!) Serial telewizyjny. Są to tylko nazwy programów, np./media/Expansion2/Series/The Big Bang Theory/ W folderze każdego programu (i na tym polega problem) mam foldery sezonu. Obecnie mam mieszankę następujących 2 konwencji (prawdopodobnie wraz z kilkoma innymi): /media/Expansion2/Series/The Big …

4
Jaka jest składnia złożonego warunku w powłoce?
Jeśli chcesz wyrazić następujący test w powłoce (sh): if ( a == 1 && ( b == 1 || b == 2 )) { ... } Do tej pory najlepsze, co udało mi się napisać, to: if [[ $a -eq 1 ]]; then if [[ $b -eq 1 || $b …
11 shell 

10
Jaki jest najlepszy sposób na policzenie liczby plików w katalogu?
Jeśli parsowanie danych wyjściowych lsjest niebezpieczne, ponieważ może uszkodzić niektóre funky (spacje \n, ...), jaki jest najlepszy sposób, aby poznać liczbę plików w katalogu? Zwykle polegam na findunikaniu tego analizowania, ale podobnie find mydir | wc -lzepsuje się z tych samych powodów. Obecnie pracuję nad systemem Solaris, ale szukam odpowiedzi …



4
programowo tworząc zdalny katalog za pomocą ssh
Za pomocą skryptu powłoki, jak mogę utworzyć katalog zdalnie z serwera A -> serwer B za pomocą ssh? Czy mogę przekazać polecenie utworzenia katalogu za pomocą polecenia ssh? W jaki sposób? Zasadniczo chcę utworzyć katalog zdalnie na podstawie daty (np. 20110304), jeśli jeszcze nie istnieje.
11 shell  ssh  directory 

2
Jak sprawić, by RPROMPT w aktualizacji zsh sam się aktualizował przy każdym wejściu?
Mój RPROMPTjest ustawiony do wyświetlania informacji o svn za pomocą vcs_info. Czyta RPROMPT=${vcs_info_msg_0_}. vcs_infonazywa się za pomocą precmd(). Jednak RPROMPT nie aktualizuje się, kiedy zmieniam katalogi. Działa tylko wtedy, gdy ponownie wywołam monit (przez source ~ / .zshrc lub monit) i nie zmieni się po chdir, chyba że ponownie wywołam …

2
Jak zmienić plik na miejscu za pomocą awk? (jak w przypadku „sed -i”)
Mam awkskrypt new.awk: BEGIN { FS=OFS="," } NR==1 { for (i=1; i<=NF; i++) { f[$i] = i } } NR > 1 { begSecs= mktime(gensub(/[":-]/," ","g",$(f["DateTime"]))) endSecs = begSecs + $(f["TotalDuration"]) $(f["CallEndTime"]) = strftime("%Y-%m-%d %H:%M:%S", endSecs) } { print } Nazywam to w skorupkach awk new.awk sample.csv ... ale widzę …
11 linux  shell  awk 

1
Podstawianie procesów w plikach GNU Makefiles
W wierszu poleceń bash można uruchomić diff przy użyciu pseudoplików: diff <(echo test) <(echo test) Dodanie tego, co jest w pliku Makefile, kończy się niepowodzeniem: all: diff <(echo test) <(echo test) Błąd (wskazówka: / bin / sh wskazuje na / bin / bash w tym systemie): /bin/sh: -c: line 0: …

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.