Pytania oznaczone «shell-script»

42
Jak poprawnie zebrać tablicę linii w Zsh

Myślałem, że następujące zgrupuje dane wyjściowe my_commandw tablicy wierszy: IFS='\n' array_of_lines=$(my_command); tak $array_of_lines[1]by odnosiło się do pierwszego wiersza na wyjściu my_command, $array_of_lines[2]do drugiego i tak dalej. Jednak powyższe polecenie wydaje się nie działać...

41
Znajdowanie rekurencyjnie największego pliku

Próbuję rekurencyjnie znaleźć największy plik w katalogu. Jeśli w tym katalogu znajduje się podkatalog, funkcja musi wejść do tego katalogu i sprawdzić, czy jest tam największy plik. Po znalezieniu największego pliku wyświetlane są dane wyjściowe z względną nazwą ścieżki oraz nazwą i rozmiarem...

41
Co robi „set -” w tym punkcie wejścia Dockerfile?

Próbuję zrozumieć, co robi ten punkt wejścia Docker . Wydaje mi się, że jest to bardzo powszechny wzorzec podczas pisania Dockerfiles, ale moje umiejętności bash są ograniczone i nie mam pojęcia o wszystkich specjalnych symbolach bash kung fu. Poza tym trudno google wpisać „-”, „$!” itp. Jakie...

41
Zmienna jako polecenie; eval vs bash -c

Czytałem skrypt bash, który ktoś stworzył i zauważyłem, że autor nie używa eval do oceny zmiennej jako polecenia Autor użył bash -c "$1" zamiast eval "$1" Zakładam, że używanie eval jest preferowaną metodą i prawdopodobnie i tak jest szybsze. Czy to prawda? Czy jest jakaś praktyczna różnica...

40
Sprawdź, czy ciąg zawiera podciąg

Mam kod file="JetConst_reco_allconst_4j2t.png" if [[ $file == *_gen_* ]]; then echo "True" else echo "False" fi Sprawdzam, czy filezawiera „gen”. Wynikiem jest „False”. Miły! Problem polega na tym, że podstawiam „gen” zmienną testseq: file="JetConst_reco_allconst_4j2t.png" testseq="gen" if...

40
Jak działa awk '! A [0 $] ++'?

Ten jednowarstwowy usuwa zduplikowane linie z wprowadzania tekstu bez wstępnego sortowania. Na przykład: $ cat >f q w e w r $ awk '!a[$0]++' <f q w e r $ Oryginalny kod znaleziony w Internecie brzmiał: awk '!_[$0]++' Było to dla mnie jeszcze bardziej kłopotliwe, ponieważ wziąłem...

39
Łączenie argumentów bash w pojedynczy ciąg ze spacjami

Próbuję połączyć wszystkie argumenty z funkcją Bash w jeden ciąg znaków ze spacjami oddzielającymi każdy argument. Potrzebuję również, aby ciąg zawierał pojedyncze cudzysłowy wokół całego łańcucha. Oto co mam do tej pory ... $array=("$@") str="\'" for arg in "${array[@]}"; do let...