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