Ajuda no script para alterar o swappiness [RESOLVIDO]

1. Ajuda no script para alterar o swappiness [RESOLVIDO]

Zéh
zedabaia

(usa Ubuntu)

Enviado em 14/11/2012 - 12:25h

Ola pessoal, venho trazendo um outro problema, criei um script especializado na memoria swap de qualquer celular android, mas na parte em alterar o swappiness pelo script eu não consigo!! dêem uma olha nele e por favor me digam onde está o erro:

#!/system/bin/sh
# texte_Swap 2
# by zedabaia

menu ()
{
clear
echo "##########################"
echo "### Seja Bem-Vindo ###"
echo "### O que quer saber? ###"
echo "### [1] Swap Livre ###"
echo "### [2] Swap Usado ###"
echo "### [3] Swap total ###"
echo "### [4] Todos acima ###"
echo "### [5] Swappiness ###"
echo "### [0] Sair ###"
echo "##########################"
}

opcao ()
{
clear
menu
read opcao
case $opcao in
1) swaplivre;;
2) swapusado;;
3) swaptotal;;
4) todos;;
5) swappiness;;
0) sair;;
*) invalido;;
esac
}

swaplivre ()
{
swaplivre=$((`free | awk '{print $4}' | sed '4!d'`/1024))
echo "Voce tem $swaplivre MB de swap livre"
sleep 4
clear
opcao
}

swapusado ()
{
swapusado=$((`free | awk '{print $3}' | sed '4!d'`/1024))
echo "Voce usou $swapusado MB de swap"
sleep 4
clear
opcao
}

swaptotal ()
{
swaptotal=$((`free | awk '{print $2}' | sed '4!d'`/1024))
echo "Voce tem um total de $swaptotal MB de swap"
sleep 4
clear
opcao
}


todos ()
{
swaplivre=$((`free | awk '{print $4}' | sed '4!d'`/1024))
echo "Voce tem $swaplivre MB de swap livre"
sleep 1
swapusado=$((`free | awk '{print $3}' | sed '4!d'`/1024))
echo "Voce usou $swapusado MB de swap"
sleep 1
swaptotal=$((`free | awk '{print $2}' | sed '4!d'`/1024))
echo "Voce tem um total de $swaptotal MB de swap"
sleep 2
clear
opcao
}

sair ()
{
echo "Tenha um bom dia"
sleep 1
exit 0
}

swappiness ()
{
busybox chmod 777 /system/etc/sysctl.conf
echo "digite o valor de swappiness desejado (0-100)"
read swappiness
echo "vm.swappiness=$swappiness" > /system/etc/sysctl.conf
sleep 2
echo "reiniciar o celular? (s,n)"
read reboot
case $reboot in
s) reboot;;
n) opcao;;
esac

}

invalido ()
{
echo "operacao invalida"
sleep 1
clear
opcao
}

clear
opcao
clear


Por favor me ajudem!!!
Obrigado!!!


  


2. Re: Ajuda no script para alterar o swappiness [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 14/11/2012 - 12:33h

Troque o nome da variável reboot por, por exemplo, REBOOT.


3. Re: Ajuda no script para alterar o swappiness [RESOLVIDO]

Zéh
zedabaia

(usa Ubuntu)

Enviado em 14/11/2012 - 12:41h

./.ronin escreveu:

Troque o nome da variavel reoot por, por exemplo REBOOT.


nesse caso o reboot serve como reboot
para reiniciar o celular, o que não funciona é na parte de imprimir o texto no sysctl.conf e trocar as permissoes deste arquivo


4. Re: Ajuda no script para alterar o swappiness [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 15/11/2012 - 10:56h

zedabaia escreveu:

./.ronin escreveu:

Troque o nome da variavel reoot por, por exemplo REBOOT.


nesse caso o reboot serve como reboot
para reiniciar o celular, o que não funciona é na parte de imprimir o texto no sysctl.conf e trocar as permissoes deste arquivo


Comandos e chamadas de funções são PALAVRAS RESERVADAS em qualquer linguagem.

BOA SORTE!!!


5. Re: Ajuda no script para alterar o swappiness [RESOLVIDO]

Paulo
paulo1205

(usa Ubuntu)

Enviado em 15/11/2012 - 13:19h

Ronin, o nome da variável, nesse caso, é totalmente irrelevante. O que ele fez não está errado. Errado foi o seu comentário sobre comandos e nomes de função, principalmente no caso de "reboot", que não é um comando do shell, mas um programa externo.

Se não se pudesse dar nome de um programa externo a uma variável, certamente teríamos dificuldades, pois um script escrito hoje poderia passar a ter dificuldades amanhã ou depois, com a instalação de um aplicativo novo que tivesse um executável com nome idêntico ao de uma variável.

Mas observe que mesmo comandos internos do shell podem ser usados como nomes de variáveis. Se você fizer, no seu bash, um read read; echo $read, pode ver que vai funcionar.

Os nomes de variáveis não precisam estar todos em maiúsculas nem minúsculas. Por convenção, normalmente se usam nomes em minúsculas para variáveis locais, e em maiúsculas para variáveis de ambiente, mas absolutamente nada obriga a assim proceder, e há exceções conhecidas (por exemplo: as variáveis de ambiente que indicam o proxy web são todas com letras minúsculas).


6. Re: Ajuda no script para alterar o swappiness [RESOLVIDO]

Paulo
paulo1205

(usa Ubuntu)

Enviado em 15/11/2012 - 13:23h

Zedabaia,

Ajudaria se você dissesse qual o erro. Só dizer que não funciona, sem comparar o que aconteceu e aquilo que você esperava que acontecesse, ainda mais numa arquitetura em que nem todos nós temos como testar, não facilita para nós ajudá-lo a cercar o problema.


7. Re: Ajuda no script para alterar o swappiness [RESOLVIDO]

Zéh
zedabaia

(usa Ubuntu)

Enviado em 15/11/2012 - 14:28h

paulo1205 escreveu:

Zedabaia,

Ajudaria se você dissesse qual o erro. Só dizer que não funciona, sem comparar o que aconteceu e aquilo que você esperava que acontecesse, ainda mais numa arquitetura em que nem todos nós temos como testar, não facilita para nós ajudá-lo a cercar o problema.


Desculpe paulo, o problema estava na hora de mudar as permissões, ele não autorizava o script a fazer isso (mesmo com root), ontem dando uma estuda achei uma maneira de "autorizar"essas mudanças, de uma olhada agora
swappiness ()
{
busybox mount -o remount,rw / 2>/dev/null
busybox mount -o remount,rw rootfs 2>/dev/null
busybox mount -o remount,rw /system 2>/dev/null
busybox chmod 770 /system/etc/sysctl.conf
swappinessatual=`cat /proc/sys/vm/swappiness`
echo "Seu swappiness agora e $swappinessatual"
sleep 1
echo "É recomendado nao colocar um valor de swappiness muito auto, quanto maior, mais o swap sera usado"
sleep 1
echo "digite o valor de swappiness desejado (0-100)"
read swappiness
echo "vm.swappiness=$swappiness" >> /system/etc/sysctl.conf
sleep 2
echo "E preciso reiniciar o celular, fazer isso agora? (s,n)"
read rebt
case $rebt in
s) echo "reiniciando o dispositivo..."
reboot;;
n) echo "Voltando ao menu..."
sleep 1
opcaoswap;;
esac
}


Graças a isso:
busybox mount -o remount,rw / 2>/dev/null
busybox mount -o remount,rw rootfs 2>/dev/null
busybox mount -o remount,rw /system 2>/dev/null

Deu certo o script



8. Re: Ajuda no script para alterar o swappiness [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 15/11/2012 - 14:52h

Amigos,

Eu esperava arrumar o script por partes: ajudar mesmo.

Me desculpem se pareci estúpido.

BOA SORTE a TODOS inclusive a mim!!!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts