检查存在的脚本[不起作用]

饼干大师

我想检查路径目录是否存在,并包括一个示例目录,在该目录中我有权查看文件,并且出现此消息:

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代码:

#!/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代码:

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

请帮我!

塞尔吉·科洛季亚兹尼(Sergiy Kolodyazhnyy)

有两件事在发生。if list; then list; [elif list; then list;] ... [else list;] fi语句对退出状态进行操作。如果列表#1的退出状态为0,则执行列表2;否则,将执行列表2。否则进入清单3。

如果代码成功,则测试命令(别名为方括号)将返回0 [ -e /etc/passwd ]

因此,从某种意义上说,它与C和Java中的相同,但是相反。

更正的脚本

#!/bin/mksh
#set -x
echo "Start!"

while IFS=  read entry; do

  if [ -e "$entry" ] ; then

  echo "$entry exist"

   else

   echo "$entry doesnt exist"

   fi

done < $HOME/pathlist.txt

另外,喝咖啡前请勿编码

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章