проверка есть сценарий [не работает] [закрыт]

Я хочу проверить существование каталога путей и включить образец каталога, где у меня есть разрешения на просмотр файлов, и это сообщение появляется:

No such file or directory /long_path/path1/abc.txt
No such file or directory /long_path/path2/xyz.txt

Вот какой код:

#!/bin/sh
set -x
while read line; do
(ls -l $line)
done </something/pathlist.txt

Внутри pathlist.txt:

/long_path/path1/abc.txt
/long_path/path2/xyz.txt

Я пробовал различные итерации ... example2.sh code:

#!/bin/ksh
echo "Start!"
#entry="/something/pathlist.txt"
while read entry; do
    if [ -s $entry ];
    then
        echo "$entry exists"
    else
        echo "$entry does not exist..."
fi
done </something/pathlist.txt

example3.sh code:

#!/bin/csh
while read entry; do
    if [ -e $entry ];
    then
        echo "$entry does not exist"
    else
        echo "$entry exists "
 fi
 done </something/pathlist.txt

Пожалуйста, помогите мне!

1
задан 23 October 2015 в 21:08

1 ответ

Вам нужно узнать, как работает перенаправление в Unix. Потому что вам нужно использовать перенаправление при вызове скрипта, но не в коде. Я не уверен, но я думаю, вам нужно заменить #!/bin/ksh на #!/bin/sh. PROFIT!
#!/bin/sh
while read entry; do
    if [ -s $entry ];
    then
        echo "$entry exists"
    else
        echo "$entry does not exist..."
fi
done

Сохраните его, а затем.

chmod +x example2.sh
example2.sh < something/pathlist.txt
0
ответ дан 23 May 2018 в 16:26
  • 1
    Я запускал скрипт echo $ shell / bin / csh, который еще не сотрудничал ._. – MaestroCookies 23 October 2015 в 21:02
  • 2
    Прекрасно работает на bash. – Yurii Kolesnykov 23 October 2015 в 21:05

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

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