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.


3
Dlaczego opcje w cytowanej zmiennej zawodzą, ale działają, gdy nie są cytowane?
Czytałem o tym, że powinienem zacytować zmienne w bash, np. „$ Foo” zamiast $ foo. Jednak podczas pisania skryptu znalazłem przypadek, w którym działa on bez cudzysłowów, ale nie z nimi: wget_options='--mirror --no-host-directories' local_root="$1" # ./testdir recieved from command line remote_root="$2" # ftp://XXX recieved from command line relative_path="$3" # /XXX …


3
Znaczenie [„$ {1: 0: 1}” = '-']
Mam następujący skrypt do uruchomienia procesu MySQL: if [ "${1:0:1}" = '-' ]; then set -- mysqld_safe "$@" fi if [ "$1" = 'mysqld_safe' ]; then DATADIR="/var/lib/mysql" ... Co w tym kontekście oznacza 1: 0: 1?
18 linux  bash  shell 

2
Czy w powłoce jest coś takiego jak „split ()” JavaScript?
W split()JavaScripcie bardzo łatwo jest podzielić łańcuch na tablicę. Co ze skryptem powłoki? Powiedz, że chcę to zrobić: $ script.sh var1_var2_var3 Gdy użytkownik poda taki ciąg var1_var2_var3do script.sh, wewnątrz skryptu przekształci ciąg w podobną tablicę array=( var1 var2 var3 ) for name in ${array[@]}; do # some code done

4
Użyj #! / Bin / sh lub #! / Bin / bash dla kompatybilności z Ubuntu-OSX oraz łatwości użytkowania i POSIX
Wiem, że mogę użyć jednego z pierwszych wierszy skryptów do wywołania pożądanej powłoki. Byłoby #!/bin/shzalecane, jeśli zgodność ze wszystkimi systemami uniksowymi jest absolutnym wymogiem? W moim przypadku jedynym systemem, na którym mi zależy, jest Ubuntu (Debian) i OSX. Biorąc to pod uwagę, czy mogę używać #!/bin/bashi mieć pewność, że będzie …
18 bash  shell  ubuntu  osx  posix 

2
Dlaczego zmienna jest widoczna w podpowłoce?
W Learning Bash Book wspomniano, że podpowłoka odziedziczy tylko zmienne środowiskowe i deskryptory plików itp. Oraz że nie odziedziczy zmiennych, które nie są eksportowane: $ var=15 $ (echo $var) 15 $ ./file # this file include the same command echo $var $ Jak wiem, powłoka utworzy dwie podpowłoki dla ()i …
18 bash  shell  subshell 


2
Kiedy ważne jest pisanie przenośnych skryptów?
Większość kodu, który piszę, jest w języku PHP. Niedawno zacząłem uczyć się skryptowania powłoki. Większość zasobów i samouczków, które napotkałem, jest specyficzna dla Bash. Niektórzy ostrzegają przed bashizmami, a inni nie. Dużo tu czytałem i Stack Overflow. Ilekroć w odpowiedzi używa się baszizmów , ktoś nieuchronnie skomentuje: Nie powinieneś używać …




4
Czy konfigurację git można ustawić dla wielu repozytoriów?
Wydaje się, że Git obsługuje wartości konfiguracji na trzech poziomach: Globalne ustawienia dla systemu (przechowywane w /etc/git-core) Ustawienia globalne dla użytkownika (przechowywane w ~/.gitconfig) Ustawienia lokalne dla repozytorium (przechowywane w $REPO/.git/config) Te opcje obejmują większość podstaw, ale szukam sposobu na obsługę czwartego poziomu. Mam (bardzo) dużą kolekcję repozytoriów, dla których …
18 shell  git 


3
Jak wybrać określone procesy za pomocą „góry”?
W przypadku jednego programu z wieloma instancjami uruchomienie pidof programdaje: `1 2 3` top -pprzyjmuje argumentów rozdzielonym przecinkami: 1, 2, 3. Oznacza to, że top -p `pidof program`nie będzie działać: top: unknown argument '1' usage: top -hv | -bcisSH -d delay -n iterations [-u user | -U user] -p pid …

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.