LINUX.ORG.RU

Проверка наличия файла в текучем каталоге (без использования оператора If)


0

0

Нужно UNIX написать сценарий в результате работы которого выполняется 1.Проверка наличия файла (например файла «xyz») в текучем каталоге 2.При его наличие, выводится на экран его содержимое. При этом нельзя использовать оператор if, а нужно использовать «механизм условного перехода»(так и не нашёл в интернете, что же это такое для UNIX) Помогите, кто чем может, пожалуйста.



Последнее исправление: vvt123 (всего исправлений: 1)

name='xyz; test -e $name && cat $name

dGhost ★★★
()

Я бы эту задачу решил так:

cat FILE_NAME 2>/dev/null

Если файл есть, выводится его содержимое. Если нет - не выводится ничего.

bigbit ★★★★★
()

> нельзя использовать if

нужно использовать «механизм условного перехода»


Мне кажется, что под этим неведомым механизмом подразумевался case.

GArik ★★★
()

Механизм условного перехода — это и есть if. Например,
if (a.eq.b) goto 10
или там
if a = b then 10

Правда, это все было в прошлом веке :)

nnz ★★★★
()

Если каталог очень текучий, то файл в нём можно не успеть заметить. Вроде файл есть, а через секунду — оба — уже и нету.

akk ★★★★★
()

Большое спасибо dGhost и bigbit. Правда тут ещё такая проблема выяснилась, что в случае отсутсвия файла нужно выводить на экран сообщение: The xyz file is not found.

То есть нужно, что бы сценарий проверял наличие файла в текучем каталоге, и при его наличие выводил бы на экран его содержимое, а в случае его отсутствия выводил бы на экран сообщение: The xyz file is not found. При этом нужно не использовать оператор if. Буду очень благодарен, если кто нибудь поможет с решением этой задачи...

vvt123
() автор топика

FILE=xyz; cat $FILE 2>/dev/null || echo The $FILE not found

hired777
()

Огромное спасибо hired777 и всем кто помог.

vvt123
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.