Em shell-scripts, costumamos usar os recursos do Korn Shell, shell desenvolvido por David Korn nos AT&T Bell Labs na década de 1980 como uma extensão do Standard Shell.
Por exemplo, para ciclo de contagem progressiva:
for i in `seq 10`
do
echo $i
doneOutro tipo de contagem:
if [ -z "$FILENAME" ]
then
NULL_FILENAME_COUNT=`expr $NULL_FILENAME_COUNT + 1`
fiMas nos esquecemos que em ambiente GNU/Linux usamos o
bash, que possui recursos ainda mais poderos que o Korn Shell.Por exemplo, vamos reescrever a contagem de 1 a 10 usando a validação aritmética:
for ((i=1; i<=10; ++i))
do
echo $i
doneA outra contagem também pode ser escrita usando recursos embutidos do
bash, sem precisar levantar um processo test – [ e ] são um apelido para test:if [[ -z "$FILENAME" ]]
then
((++NULL_FILENAME_COUNT))
fiEm ambiente BSD, o shell usado é o CShell, desenvolvido por Bill Joy – sim! O cara do Java! O CShell tem uma sintaxe propositalmente similar à de C e também é bastante poderoso.
Voltemos a nossos exemplos:
@ i = 0
while ($i < 10)
@ i++
echo $i
endO ambiente aritmético em CShell é validado por
@.if (!($?filename)) then
@ nullFilenameCount++
else
if (!($%filename)) \
@ nullFilenameCount++
endifEm ambiente GNU/Linux, você pode evocar o CShell através de
tcsh.Mais dicas nas páginas de manual (manpages)
bash e tcsh.[]'s
Cacilhas, La Batalema
CC-BY: Os textos deste blog podem ser reporduzidos contanto que sejam informados autor e origem.