100% использование диска. что делать?

if [[ -z $template_file ]]; then

Оператор -zпроверяет, пуста ли строка. Здесь значение template_fileне пустое, так как вы только что присвоили ему значение. Следовательно, команда внутри ifне запускается.

Если файл не существовал до запуска скрипта, он не будет существовать и во время cp.

Я не уверен, что вы пытаетесь протестировать здесь, но если вы хотите создать файл на случай, если он не существует, вам следует использовать ! -f $filename. -fпроверяет, существует ли файл, а !инвертирует тест.

Также обратите внимание, что в назначении тильда не раскрывается, а остается такой, как -, так как она находится в кавычках:

template_file="~/mytest_template.c";

Вы не используете эту переменную в последующем перенаправлении или в команде cp, поэтому у вас не возникнет проблем из-за этого.

Итак,

template=~/mytest_template.c
final=~/mytest.c
if [[ ! -f $template ]]; then
    echo "..." > "$template"
fi
cp "$template" "$final"
0
15.07.2020, 00:36
1 ответ

/dev/sda1— это не каталог, а блочное устройство. Легко узнать с помощью ls -ld /dev/sda1.

Вы можете узнать об использовании пространства, запустив

du -hx --max-depth=1 /
2
18.03.2021, 23:19

Теги

Похожие вопросы