Como resolver -f: comando não encontrado

0

Estou tentando verificar a existência de alguns arquivos usando o comando -f seguido do banho de arquivo, mas tenho um erro. Este é o meu script:

initUCounter="/home/teeba/users_counter_initial_value"
initPCounter="/home/teeba/number_of_processes"
if [! -f $initUCounter && ! -f $initPCounter]
then
echo "0" > /tmp/users_counter_initial_value
echo "1" > /tmp/processes_counter_initial_value
fi
    
por Akari 15.02.2014 / 20:21

2 respostas

2

Além da resposta de Rmano, você pode usar

if [ ! -f $initUCounter ] && [ ! -f $initPCounter ]; then
    some action
else
    some other action
fi
    
por souravc 15.02.2014 / 20:36
4

Use o operador bash [[ ]] e não o comando [ ( [ é o mesmo que o comando test ):

if [[ ! -f $initUCounter && ! -f $initPCounter ]]

isso deve funcionar.

Veja esta discussão para mais detalhes. (A página pitfalls é uma leitura obrigatória quando você começa a escrever scripts ... você vai economizar horas de riscar)

    
por Rmano 15.02.2014 / 20:31