Jestem trochę nowy w Skrypcie Shell i chcę utworzyć nowy plik w skrypcie i chcę dodać zawartość, a następnie ją zamknąć. Nie powinien pobierać argumentów od użytkownika. Wszystko ze ścieżki i treści jest predefiniowane. Jak mogę to zrobić?
Jestem trochę nowy w Skrypcie Shell i chcę utworzyć nowy plik w skrypcie i chcę dodać zawartość, a następnie ją zamknąć. Nie powinien pobierać argumentów od użytkownika. Wszystko ze ścieżki i treści jest predefiniowane. Jak mogę to zrobić?
Odpowiedzi:
Wystarczy użyć przekierowania wyjściowego. Na przykład
#!/bin/bash
echo "some file content" > /path/to/outputfile
>Zapisze wszystkie stdinprzewidziane przez stdoutod echodo pliku outputfiletutaj.
Możesz też użyć teedo tego fajki. Na przykład
echo "some file content" | tee outputfile
Pamiętaj, że którykolwiek z przykładów zastąpi istniejący outputfile.
Jeśli chcesz dołączyć do aktualnie istniejącego pliku, użyj >>zamiast >lub tee -a.
Jeśli nie akceptujesz danych wprowadzanych przez użytkownika w tym wierszu, żadne dane wprowadzane przez użytkownika nie mogą tutaj zmienić zachowania.
Myślę, że lepiej jest użyć tutaj dokumentu, aby utworzyć nowy plik w skrypcie. Jest czystszy, co moim zdaniem sprzyja czytelności.
Na przykład:
cat > filename <<- "EOF"
file contents
more contents
EOF
"-"W <<-jest opcjonalne, pozwalające na kartach wcięcia, które zostaną odsłonięte , gdy plik jest tworzony. Cytaty wokół "EOF"uniemożliwiają zastępcy „tutaj doc”.