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
Jakie kroki przechodzi system podczas obsługi połączenia SSH?
Jakie kroki przechodzi system podczas obsługi połączenia SSH? Próbujemy zalogować się przez ssh sshd uruchamia moduł pam i pam, aby nas uwierzytelnić W zależności od konfiguracji pam musimy podać nazwę użytkownika i hasło (pam pam passwdi shadowpliki) Kontrole PAM hosts.allow/deny, /etc/shellsi inne rzeczy Jeśli wszystko pójdzie dobrze, jesteśmy zalogowani ??? …
9 shell  ssh  pam 

1
Jak uzyskać długą listę pojedynczego katalogu?
Chcę zobaczyć długą listę dla pojedynczego katalogu. Kiedy piszę ls -lha, widzę to: drwxrwxr-x 4 username groupname 4.0K 2010-08-05 09:55 files drwxrwxr-x 7 username groupname 4.0K 2010-08-05 14:25 trunk drwxrwxr-x 8 username groupname 4.0K 2010-08-05 16:02 phpincludes drwxrwxr-x 11 username groupname 4.0K 2010-07-26 12:31 phpMyAdmin-3.3.5-english Jednak kiedy piszę ls -lha …

1
zastąpienie procesu bash plikiem tymczasowym
Niektóre programy wymagają, aby ich pliki były widoczne, na przykład objdump. $ objdump -D -b binary -m i8086 <(echo 0xea 0x5b 0xe0 0x00 0xf0|xxd -r -p) objdump: Warning: '/proc/self/fd/11' is not an ordinary file Byłoby wygodnie, gdyby proces zastępowania korzystał z plików tymczasowych. Widzę na stronie podręcznika, że ​​bash może …

1
Zmień nazwę plików ze spacjami w powłoce BusyBox
Próbuję zmienić nazwę niektórych plików na mojej stacji Synology Diskstation za pośrednictwem SSH. Dostępną powłoką jest wbudowana powłoka BusyBox: BusyBox v1.16.1 (2013-04-16 20:13:10 CST) built-in shell (ash) Polecenie move zawsze zwraca dwa błędy, gdy próbuję użyć znaku spacji w źródłowej lub docelowej nazwie pliku. Wydawanie znaków spacji lub cytowanie nazwy …

1
podwójny nawias kwadratowy w „case” w „configure.ac” i [[3456]] 86
Próbuję zrozumieć następujący fragment kodu. host_cpu='i386' case "$host_cpu" in i[[3456]]86) echo "host_cpu=i386" ;; x86_64) echo "host_cpu=x86_64" ;; *) echo "AC_MSG_ERROR([unsupported CPU type]) " ;; esac Sam dodałem zmienną, host_cpu='i386'aby przetestować kod, i zmieniłem ją na trzeci przypadek echo "AC_MSG_ERROR([unsupported CPU type]) ". Jeśli zmienię podwójny nawias klamrowy i[[3456]]86)na pojedynczy nawias …
4 bash  shell  autoconf 

1
Jak dodawać komentarze do instrukcji wielowierszowych w skrypcie Bash?
Nie dodam komentarzy do instrukcji wieloliniowych w skrypcie bash. Wygląda na to, że bash nie tłumaczy. Ponieważ komentarze mogą być naprawdę przydatne, ponieważ istnieją potencjalne 4-5 wierszy, czy ktoś może mi doradzić, jak to osiągnąć? To tylko podstawowy przykład, który nie działa. #!/bin/bash iptables -A INPUT \ #Comment for rule …

3
Wykonywanie poleceń wydrukowanych na standardowym wyjściu
Jak wykonać polecenia, które wypisuję na standardowym wyjściu, używając na przykład awk, używam awk do wydrukowania tego: grep -B100 some file1.tcl grep -B100 some file2.tcl Następnie przechowuj go w pliku .sh, a następnie źródłowy plik. Czy możliwe jest przesłanie go gdzieś w celu wykonania poleceń? awk '{print xx}' | pipeline
2 linux  bash  shell 

1
Uruchamianie sha1sum w kilku katalogach
Mam kilka katalogów, które mają wspólny katalog nadrzędny. W każdym katalogu znajdują się zwykłe pliki, ale nie ma innych podkatalogów. Coś takiego: top/dir-1 top/dir-1/file-11 top/dir-1/file-12 top/dir-2 top/dir-2/file-21 top/dir-2/file-22 top/dir-3 top/dir-3/file-31 top/dir-3/file-32 Chciałbym uruchomić sha1sumte pliki i uzyskać następujące pliki sum kontrolnych: top/dir-1/sha1sum top/dir-2/sha1sum top/dir-3/sha1sum top/dir-1/sha1sum, na przykład, powinien zawierać tylko …
2 shell  find  checksum 

2
Rozszerzenie parametrów wielu zmiennych
Rozszerzanie parametrów pojedynczej zmiennej działa zgodnie z oczekiwaniami. Ale jak rozszerzyć parametry zawierające kilka zmiennych? Przykład: #!/bin/sh foo=/lorem/ipsum; bar=dolor/sit tmp="$foo/$bar" printf '%s\n' "${tmp%/*}" Jak uruchomić rozszerzenie tego parametru bez potrzeby stosowania zmiennej tymczasowej?
2 shell  posix 

1
Podczas gdy pętle nie zapętlają wszystkich wartości
Stworzyłem kilka fragmentów kodu - w Pythonie i C - które muszą być uruchamiane wiele razy, każdy z nowym zestawem wartości wejściowych. Aby to zrobić, stworzyłem skrypt powłoki Unixa, który powinien uruchamiać różne programy dla wielu różnych danych wejściowych: #!/bin/sh _file="${1:-/dev/null}" while IFS=' ' read -r f1 f2 f3 f4 …

1
Bash odpowiednik FUNCNAME w Dash
Bash może wydrukować nazwę bieżącej funkcji: $ bash -c 'g(){ echo $FUNCNAME; }; g' g Dash nie może jednak użyć FUNCNAME : $ dash -c 'g(){ echo $FUNCNAME; }; g' Czy można uzyskać dostęp do bieżącej nazwy funkcji za pomocą Dash?
1 shell  function  dash 

1
w przypadku niepowodzenia zestawienia zainstalowanego skryptu w sbin
Mam prosty blok kodu, który wydaje się zawodzić i nie jestem w 100% pewien, dlaczego, if ! -h /usr/sbin/gitploy; then curl https://raw.githubusercontent.com/jeremyBass/gitploy/master/gitploy | sudo sh -s -- install [ -h /usr/sbin/gitploy ] || echoerr "gitploy failed install" else gitploy gitploy_update fi zawodzi, ale jeśli to zrobię [ -h /usr/sbin/gitploy ] …
shell 

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.