Как использовать путь к файлу в качестве входных данных, чтобы найти, существует ли файл или каталог в Bash - PullRequest
0 голосов
/ 29 января 2020

Я не понимаю, как использовать пути в примерах.

Например,

, когда я проверяю, существует ли файл / каталог, я бы сделал несколько вариантов

if test (-e or -a or -f or -d)$2; then
    echo y
else
    echo n
fi

тогда я бы сделал finddir. sh acb / testdir

и он повторил бы. Однако, когда я делаю то же самое без первого sla sh (testdir), это работает, поэтому я попытался отключить первый sla sh, используя

PATH=$2
PATH=$(PATH:1)

Затем заменил $ 2 в первом коде с $ PATH (он отображает путь без первого sla sh (проверено с помощью echo)), но это тоже не сработало

Также, если я указал путь длиннее одного каталога (/ testdir / testdir2) он не работает либо

Я пробовал другие изменения, такие как тестирование с помощью [[]] или [], но ничего не помогло

Для файла поиска. sh, где я должен был найти если файл существует с использованием пути, я попытался использовать первый код, и он смог найти файл, используя только простое имя файла, в то время как он находится в том же каталоге, что и файл (т.е. ./findfile.sh ab c / samp.tar), который не работал, но работал при удалении sla sh снова. Однако всякий раз, когда я помещаю что-либо еще (/testdir/testdir2/samp.tar), это не работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...