Script de nível de execução

2

Eu quero fazer um script simples para que o usuário possa facilmente alterar os runlevels. O script deve solicitar ao usuário que escolha o novo runlevel, execute o programa / sbin / init e receba uma mensagem de confirmação.

Alguma idéia?

P.S se o nível de execução for alterado, quero receber uma mensagem de confirmação. Ajuda por favor

    
por redcaddy 21.12.2015 / 11:07

1 resposta

1

Você pode tentar simplesmente,

Crie um arquivo chamado myscript com o seguinte conteúdo:

#!/bin/bash
echo -n "Enter Run level":
read rl;
sudo init $rl;

Onde echo é usado para imprimir o que inserir, read é usado para obter a entrada e armazenar na variável rl e sudo init $rl; para executar o comando para alterar o nível de execução.

Para mais controle / verificação da entrada, você pode usar o loop, como while e case .

Você deve conceder permissão de execução: sudo chmod +x myscript para que possa ser executado.

Então você pode executar o script como:

$ ./myscript
$ Enter Run level : 3

EDITAR:

como @RuiFRibeiro sugerido , o comando para alterar o nível de execução é telinit :

NAME
       telinit - change system runlevel

SYNOPSIS
       telinit [OPTION]...  RUNLEVEL

DESCRIPTION
       telinit may be used to change the system runlevel.

Portanto, você deve usar telinit em vez de init no script.

E para verificar o nível de execução, você pode usar o comando who -r ou runlevel , que gera o nível de execução anterior e atual.

$ who -r | awk '{print $1,$2}'
run-level 3
$ runlevel
2 3
    
por 21.12.2015 / 11:12