Как решить -f: команда не найдена

Я пытаюсь проверить существование некоторых файлов, используя команду -f, а затем файл bath, но у меня ошибка Это мой сценарий:

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
0
задан 16 February 2014 в 02:06

2 ответа

Помимо ответа от Rmano, вы можете использовать,

if [ ! -f $initUCounter ] && [ ! -f $initPCounter ]; then
    some action
else
    some other action
fi
0
ответ дан 16 February 2014 в 02:06

Используйте оператор bash [[ ]], а не команду [ ([ совпадает с командой test):

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

это должно работать.

См. это обсуждение для более подробной информации. (Страница bash pitfalls является обязательной для прочтения, когда вы начинаете писать сценарии ... избавит вас от долгих часов почесывания головы)

0
ответ дан 16 February 2014 в 02:06
  • 1
    @ParanoidPanda: честно говоря, I' ve протестировал его на Linux Mint 18.2 – Ugnius Malūkas 6 November 2017 в 12:17

Другие вопросы по тегам:

Похожие вопросы: