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
Jak ssh uruchamia polecenie?
Używam Bash zarówno na kliencie, jak i serwerze. Podczas uruchamiania polecenia przez SSH: ssh <host> 'declare' daje listę zmiennych powłoki. ssh <host> 'mount' daje listę punktów montowania. Jednak declarejest wbudowany w Bash, natomiast mountjest poleceniem zewnętrznym. Skąd SSH wie, które uruchomić, jeśli na serwerze jest wbudowana powłoka i zewnętrzne polecenie …
15 shell  ssh 




3
„Sudo: źródło: nie znaleziono polecenia”
$ source /etc/environment $ sudo source /etc/environment [sudo] password for t: sudo: source: command not found Wygląda na to, że uruchomiona jest inna powłoka niż bashuruchomiona source /etc/environmenti ta powłoka nie ma sourcewbudowanego. Ale my i domyślna powłoka roota to obie bash. $ echo $SHELL /bin/bash Jeśli sudoindeeds używa innej …
15 shell  sudo 



5
Jak usunąć spacje ze zmiennych powłoki?
W wierszu polecenia wykonałem następujące czynności: $ text="name with space" $ echo $text name with space Próbuję użyć tr -d ' 'do usunięcia spacji i uzyskać wynik: namewithspace Próbowałem kilku rzeczy, takich jak: text=echo $text | tr -d ' ' Jak dotąd brak szczęścia, więc mam nadzieję, że cudowni ludzie …
15 shell  command-line  tr 

2
Błąd składni w pobliżu nieoczekiwanego tokena `('
Kiedy używam poniższego kodu w terminalu SSH dla CentOS, działa dobrze: paste <(printf "%s\n" "TOP") Ale jeśli umieszczę ten sam kod wiersza w skrypcie powłoki (test.sh) i uruchomię skrypt powłoki z terminala, zgłasza błąd, ponieważ ./test.sh: line 30: syntax error near unexpected token (' ./test.sh: line 30: paste <(printf "%s\n" …
15 shell 

2
Dziwna różnica między pwd i / bin / pwd
Dodałem dowiązanie symboliczne do bieżącego katalogu za pomocą ln -s . aa. Jeśli wykonam cd aa, a następnie wykonam , pwdodpowiedź brzmi /home/sim/aa. Ale jeśli wykonam /bin/pwd, drukuje /home/sim(bieżący katalog się nie zmienił). Skąd ta różnica?
15 shell  symlink  pwd 

5
Pobierz najnowszy katalog (nie najnowszy plik)
Mój folder parentma następującą zawartość: A.Folder B.Folder C.File Zawiera zarówno foldery, jak i pliki. B.Folderjest nowszy. Teraz chcę tylko B.Folder, jak mogę to osiągnąć? Próbowałem tego, ls -ltr ./parent | grep '^d' | tail -1 ale daje mi to drwxrwxr-x 2 user user 4096 Jun 13 10:53 B.Folder, ale potrzebuję …
15 shell  files  ls  timestamps 

5
skopiować najpierw najmniejsze pliki?
Mam duży katalog zawierający podkatalogi i pliki, które chcę kopiować rekurencyjnie. Czy jest jakiś sposób, aby powiedzieć cp, że powinien wykonać operację kopiowania w kolejności wielkości pliku, aby najpierw skopiować najmniejsze pliki?
15 shell  cp  file-copy  size 

5
Uruchom polecenie, gdy system jest bezczynny i gdy jest ponownie aktywny
Chcę uruchomić polecenie, gdy użytkownik stanie się nieaktywny (system jest bezczynny). Na przykład: echo "You started to be inactive." Ponadto, gdy użytkownik ponownie stanie się aktywny (system nie jest już bezczynny): echo "You started to be active, again." Potrzebuję skryptu powłoki, który to zrobi. Czy to możliwe bez timera / …
15 linux  bash  shell 

2
Czy jest jakiś sposób na użycie xargs na rurze?
Próbuję automatycznie przekonwertować pliki flac przeniesione do folderu na mp3 w innym folderze. Mój obecny wiersz kodu to: inotifywait -m -r -q -e moved_to --format "'%w%f'" ~/test | xargs -I x flac -cd x - | lame -b 320 - /media/1tb/x.mp3 Aby wyjaśnić, jak to działa do tej pory, inotifywait …
15 shell  pipe  xargs  inotify 


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.