No mucho, te falta el fi
que termina la instrucción if -, y {$file}
se expande a {/home/somedir}
, con llaves literales. La expansión del parámetro con llaves es ${file}
, es decir, el signo de dólar sale fuera de las llaves.
Además,el patrón /home/*
coincidirá con todos los archivos (, no solo con los directorios ), por lo que obtendrá errores de touch
si los hay. Puede que no haya muchos en /home
, pero es fácil cambiar el patrón a /home/*/
, que solo debería coincidir con los directorios. la barra inclinada formará parte de la variable, así que téngalo en cuenta en la comparación. (Alternativamente, pruebe también [ -d "$file" ]
.)
Además, en general, desea citar "$file"
. O quizás dir
sería más apropiado aquí.
#!/bin/sh
for dir in /home/*/ ; do
if [ "$dir" != "/home/lost+found/" ] ; then
touch "$dir/FILE1"
fi
done
Я не знаю, почему графический интерфейс сообщает что-то другое и почему диск заполнен до максимума.
У вас достаточно места на диске, попробуйте клонировать и изменить размер диска, как в комментарии bu5hman:
Клонировать диск:
VBoxManage clonemedium /home/happycoffeebean/Windows/Windows.vdi /home/happycoffeebean/Windows/winclone.vdi
Необязательная проверка. Клон теперь должен иметь тип dynamic default
:
VBoxManage showmediuminfo /home/happycoffeebean/Windows/winclone.vdi
Изменение размера клона:
VBoxManage modifymedium /home/happycoffeebean/Windows/winclone.vdi --resize 102400
Изменение размера гостевого раздела (s):
Удалить старый образ диска.