Pytania otagowane jako shell-script

Pytania dotyczące skryptów powłoki, plików wykonywalnych interpretowanych przez powłokę (bash, zsh itp.).

1
Jak usunąć kody kolorów ze standardowego wejścia i potoku do pliku i standardowego wyjścia
Mam program, który używa printfniektórych tputzmieszanych i chciałbym przesłać dane wyjściowe do standardowego wyjścia, a także do pliku. Wolę używać, sedponieważ nie chcę żadnych niepotrzebnych zależności od mojego skryptu. Oto co mam do tej pory. printf "\n$(tput setaf 6)| $(tput sgr0)$(tput setaf 7)Sourcing files...\033[m\n" | tee install.log Jedynym problemem jest …

2
Zgodny z POSIX sposób pracy z listą nazw plików, ewentualnie z białymi znakami
Widziałem przewodniki skryptów Bash sugerujące użycie tablicy do pracy z nazwami plików zawierającymi białe znaki. DashAsBinSh sugeruje jednak, że tablice nie są przenośne, dlatego szukam zgodnego z POSIX sposobu pracy z listami nazw plików, które mogą zawierać spacje. Chcę zmodyfikować poniższy przykładowy skrypt, aby to zrobił echo foo/target/a.jar foo/target/b.jar bar/target/lol …

4
Jaka jest różnica między Ctrl-Z a kill -STOP?
Kiedy uruchamiam polecenie ( makew dużym projekcie) z powłoki, mogę wpisać Ctrl-Z, aby zatrzymać proces i powrócić do powłoki. Następnie mogę uruchomić, fgaby kontynuować proces. Próbuję napisać skrypt powłoki, aby to zautomatyzować (w szczególności, aby sprawdzać temperaturę mojego procesora co kilka sekund i zatrzymać proces, jeśli robi się zbyt gorąco, …


4
znajdź -exec w skrypcie bash ze zmiennym rozszerzaniem
Próbuję uruchomić polecenie podobne do poniższego w skrypcie bash. Powinien przeszukiwać wszystkie podfoldery $sourcediri kopiować wszystkie pliki określonego typu na poziom główny $targetdir. #!/bin/bash # These are set as arguments to the script, not hard-coded sourcedir="/path/to/sourcedir" targetdir="/path/to/targetdir" find "$sourcedir" -type f -name "*.type" -exec sh -c 'cp "$1" "$2/`basename "$1"`"' …


2
Jak korzystać z Bash dla sh w Ubuntu
Instaluję ogromny program, który ma swoje zasoby w postaci rpmpliku. Utknął na linii #!/bin/sh SCITEGICPERLBIN=`dirname $0` SCITEGICPERLHOME=`dirname $SCITEGICPERLBIN` if [ $SCITEGICPERLHOME == "." ] Widocznie shpracować bashw systemie Red Hat Linux z tej składni, ale daje błąd unexpected operatorw Ubuntu. Nie mogę zmienić skryptu na, bashponieważ skrypt pochodzi z rpmpakietu. …







2
Usuń pliki starsze niż określony plik
Muszę usunąć z folderu wszystkie pliki starsze niż określony plik. Uruchamianie basha na CentOS 7. Mam na to rozwiązanie, ale myślę, że powinien istnieć bardziej elegancki sposób: reference_file=/my/reference/file get_modify_time() { stat $1 | grep -Po "Modify: \K[0-9- :]*" } pit=$(get_modify_time $reference_file) for f in /folder/0000* ; do [[ "$pit" > …

4
Jak jawnie wywołać wbudowaną powłokę?
Chcę dostosować funkcjonalność cdpolecenia zgodnie z moimi potrzebami. Zdefiniowałem następującą funkcję - function cd () { cd "$@" && pushd "$@"; } Celem tej funkcji jest automatyczne wypychanie katalogu na stos, dzięki czemu oszczędzam wysiłku, aby za pushd .każdym razem ręcznie pisać . Jednak powyższa funkcja jest funkcją nieskończenie rekurencyjną, …

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.