내 쉘 스크립트가 제대로 작동하고 파일이 원격 디렉토리에 복사되고 있습니다. 그러나 FTP INPUT_STRING
로 시작 S
하기 전에 파일이 디렉토리에 존재하는지 확인 해야 합니다 .
#!/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
;;