Além da resposta de Rmano, você pode usar
if [ ! -f $initUCounter ] && [ ! -f $initPCounter ]; then
some action
else
some other action
fi
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
Além da resposta de Rmano, você pode usar
if [ ! -f $initUCounter ] && [ ! -f $initPCounter ]; then
some action
else
some other action
fi
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)