O que esse script bash?

0

Em teoria, este trecho do instalador do pentoo encontra todas as partições do disco selecionado, mas ele não encontra minha partição sda1, então eu adoraria entendê-lo e modificá-lo.

findpartitions() {
    workdir="$PWD"
    for devpath in $(finddisks); do
        disk=$(echo $devpath | sed 's|.*/||')
        cd /sys/block/$disk
        for part in $disk*; do
            # check if not already assembled to a raid device
            if ! [ "$(cat /proc/mdstat 2>/dev/null | grep $part)" -o "$(fstype 2>/dev/null </dev/$part | grep "lvm2")" -o "$(sfdisk -c /dev/$disk $(echo $part | sed -e "s#$disk##g") 2>/dev/null | grep "5")" ]; then
                if [ -d $part ]; then
                    echo "/dev/$part"
                    [ "$1" ] && echo $1
                fi
            fi
        done
    done

    #[ ... more code ...]

    cd "$workdir"
}

Obrigado !!

    
por user464121 29.06.2015 / 23:49

1 resposta

0

Você precisará depurar isso um pouco. Para iniciantes, adicione comandos echo para despejar o fluxo e, opcionalmente, as variáveis após cada loop e if.

Você consegue executar o comando com a depuração ativada ? Isso fornecerá praticamente o mesmo nível de detalhes, ajudando você a entender o que o fluxo do script está fazendo na realidade. Além disso, este post no unix explica como obter números de linha da depuração que o bash nos forneceu.

por 30.06.2015 / 00:21