如何区分用户输入的文件路径和字符串

如何区分用户输入的文件路径和字符串

我正在寻找 - 如何适应 - 自动区分用户输入文件位置和字符串(可以是一个字符串或每行一个字符串列表)?

#!/bin/bash

fun1(){
arrDomains=()

while read domain
do
     arrDomains+=($domain)
done
for i in ${arrDomains[@]}
do
        echo $i
done > $file_path
return
}

fun2(){
echo "File path is $file_path"
}

read -p "specify the file path or paste domain list" file_path
###### If I specify the file path it should call function - fun2
###### If I copy paste domain list it should call funtions fun1 & fun2

示例-第一个场景:当我输入文件位置时

specify the file path or paste domain list
   /tmp/filelist

第二种情况:当我复制粘贴名称时

specify the file path or paste domain list
   name1.w.corp
   name2
   name3.bz.co
   ...
   ...

答案1

您将无法以这种方式粘贴域列表,但您可以检查输入是否是文件:

read -p "specify the file path or paste domain list" file_path
if [[ -f "$file_path" ]]; then
  fun2
else
  fun1
  fun2
fi

相关内容