我的 shell 脚本工作正常,文件正在复制到远程目录。但是,我需要检查我的文件是否INPUT_STRING
以 开始S
,并在 ftp 之前检查文件是否存在于目录中。
#!/bin/bash
echo "Enter if the tag is present in
Dev
Test
Prod
"
while :
do
read -r INPUT_STRING
INPUT_STRING=`echo $INPUT_STRING | tr '[:lower:]' '[:upper:]'`
case $INPUT_STRING in
test | TEST)
echo "Please enter Tag no : "
read -r input_variable
if [[ ${#input_variable} -ne "7" ]]
then
echo "Please check the Tag no"
exit 1
fi
HOST=xxxx
USER=xxxx
PASSWORD=xxxx
mypath="/path/to/$input_variable/"
ftp -inv $HOST <<- EOF > FTPLOG
user $USER $PASSWORD
cd "$mypath"
pwd
mput x
mput y.csv
mput x.csv
mput a.csv
mput b.out
EOF
fgrep "550 Failed to change directory" FTPLOG >& /dev/null
if [[ $? -eq 0 ]]
then
echo "File is not transfered to the tag $input_variable. Please check the
tag no given"
else
echo "File is transfered to the tag $input_variable"
fi
exit 1
;;
*)
echo "Error: Invalid option..."
exit 1
;;
esac
done
答案1
您的案例陈述可能如下所示
S*)
echo Starts with S
if [[ -f x && -f x.csv ]]
then
echo File x and x.csv exist
else
echo input file missing
fi
;;