você está aqui: Home  → Arquivo de Mensagens Programação Shell Linux: Inscrições Abertas

Contando e mostrando no prompt a quantidade de arquivos e diretórios.

Colaboração: Noilson Caio Teixeira de Araújo

Data de Publicação: 31 de maio de 2011

A variável PS1 é responsável pelo nosso prompt de comando no bash, geralmente definida no arquivo /etc/profile como uma variável GLOBAL. Essa variável pode assumir n valores, inclusive o resultado de uma função shell script, que é o caso mostrado aqui no post.

O valor atual da variável PS1

bash-4.1# echo $PS1
\s-\v\$

Existe um conjunto de opções a serem definidas. No exemplo, a opção s representa o shell, v a versão.

[root@bacula-dir conf.d]# echo $PS1
[\u@\h \W]\$

Neste caso, u = user, ``h = hostname, W = diretório que estou no momento e $ para informar # para root e $ não root

Contando arquivos e diretórios

Basta adicionar as seguintes linhas no /etc/profile para ser aplicado a todos os usuários que fazem login, no ~/.bash_profile para apenas determinado usuário, ~/.bashrc para usuários que não precisam fazer login no terminal, que é o caso de quem usa terminais virtuais gráficos, xterm, gnome-terminal e etc

function quanto {
dir=$(ls -da */ | wc -l)
arq=$(find ./ -maxdepth 1 -type f | wc -l)
echo "dir: $dir - arq: $arq"
}
export PS1='\u@\h [`quanto`]> '

Como vai ficar o meu prompt ?

root@set-codin-666 [dir: 2 - arq: 14]> cd /
root@set-codin-666 [dir: 18 - arq: 0]> ls
bin boot dev etc home lib media mnt opt proc root sbin srv sys tmp tralhas usr var
root@set-codin-666 [dir: 18 - arq: 0]> cd /tralhas/
root@set-codin-666 [dir: 7 - arq: 2]> ls
Documentos ISO Imagens Music Plano de Aprendizado v1.doc VMS e17_c3d2_23c3.edj pacotes scripts



Veja a relação completa dos artigos de Noilson Caio Teixeira de Araújo