Pytania otagowane jako bash

Pytania specyficzne dla GNU Bourne Again SHell, w przeciwieństwie do innych powłok Bourne / POSIX. W przypadku pytań dotyczących powłok uniksowych użyj zamiast tego znacznika / shell.


2
Dlaczego printf „kurczy się”?
Jeśli wykonam następujący prosty skrypt: #!/bin/bash printf "%-20s %s\n" "Früchte und Gemüse" "foo" printf "%-20s %s\n" "Milchprodukte" "bar" printf "%-20s %s\n" "12345678901234567890" "baz" Drukuje: Früchte und Gemüse foo Milchprodukte bar 12345678901234567890 baz to znaczy tekst z umlautami (np. ü) jest „zmniejszany” o jeden znak na umlaut. Oczywiście, mam gdzieś jakieś …
54 bash  unicode  printf 

10
bash: sprawdź, czy $ WORD jest ustawiony
Szukam konstrukcji w bash, aby zdecydować, czy zmienna $WORDjest jednym ze zdefiniowanych słów. Potrzebuję czegoś takiego: if "$WORD" in dog cat horse ; then echo yes else echo no fi czy bash ma taką konstrukcję? Jeśli nie, co byłoby najbliższe?




6
Łączenie dwóch zmiennych ze znakiem podkreślenia
Muszę połączyć dwie zmienne, aby utworzyć nazwę pliku z podkreśleniem. Wywołuje moje zmienne $FILENAMEi $EXTENSIONgdzie nazwa pliku jest odczytywana z pliku. FILENAME=Hello EXTENSION=WORLD.txt Teraz... Próbowałem następujących bez powodzenia: NAME=${FILENAME}_$EXTENSION NAME=${FILENAME}'_'$EXTENSION NAME=$FILENAME\\_$EXTENSION Zawsze otrzymuję coś dziwnego. Zwykle podkreślenie jest pierwsze. Muszę tak być echo $NAME Hello_WORLD.txt


3
Jak mogę „wyeksportować” zmienne środowiskowe w skrypcie powłoki?
Mam wiele kont Amazon EC2 i chcę szybko móc zmieniać zmienne, na przykład za $EC2_HOMEpomocą skryptu. Mam skonfigurowany skrypt powłoki w ten sposób: #!/bin/sh export EC2_HOME=/home/me/.ec2 echo $EC2_HOME Kiedy uruchamiam skrypt, wiem, że EC2_HOMEjest ustawiony, ale pomyślałem, że użycie exportspowoduje, że zmienna pozostanie po zakończeniu skryptu. Nie działa, ponieważ bieganie …

2
Utwórz dowiązanie symboliczne - zastąp, jeśli takie istnieje
Chcę usunąć dane /path/to/data/folder/month/date/hour/minute/filei /path/to/recent/fileutworzyć dowiązanie symboliczne i zrobić to automatycznie przy każdym utworzeniu pliku. Zakładając, że nie będę wiedział z góry, czy /path/to/recent/fileistnieje, jak mogę go utworzyć (jeśli nie istnieje) lub zastąpić (jeśli istnieje)? Jestem pewien, że mogę po prostu sprawdzić, czy istnieje, a następnie wykonać usuwanie, dowiązanie symboliczne, …
54 bash  symlink 





4
Wyklucz jeden wzór z dopasowania globalnego
Mam kilka plików o tej samej podstawowej nazwie pliku. Chciałbym usunąć wszystkie oprócz jednego foo.org #keep foo.tex #delete foo.fls #delete foo.bib #delete etc Gdybym nie musiał go mieć, wiem, że mógłbym go użyć rm foo.*. TLDP demonstruje ^zanegowanie dopasowania. Dzięki próbom i błędom udało mi się to znaleźć rm foo.*[^org] …
53 bash  wildcards 

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.