免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: 一可
打印 上一主题 下一主题

关于读文件上传的shell,请大家帮助检查,初学不能找到错误 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2003-07-28 20:40 |只看该作者

关于读文件上传的shell,请大家帮助检查,初学不能找到错误

调试小有:
1、 echo 与 ” 之间得有空格,
2、 doscp a:\$filename . 少了一个点。 好像“\”也有问题,应该用“/".
3、我去掉上传文件那几行就能执行。
(ftp -n <<! 这句不能要
open 192.0.0.120
--
close  

!)(
论坛上摘抄的)

论坛徽章:
0
12 [报告]
发表于 2003-07-28 21:18 |只看该作者

关于读文件上传的shell,请大家帮助检查,初学不能找到错误

# this program for ftp
trap '' 0 1 2 3 5 9 13 15
while true
do
clear
echo "                       ┌─────────┐
                       │ 代理国税传输程序 │
                       └─────────┘
                ┏━━━━━━━━━━━━━━━━┓   
                ┃                                ┃
                ┃         1、拷贝上传文件。      ┃
                ┃         2、上传代税文件。      ┃
                ┃                                ┃
                ┃           3、退出!            ┃
                ┃                                ┃
                ┗━━━━━━━━━━━━━━━━┛
                 ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
                               请选择:\c"
read choice
case "$choice" in
   1)clear
     echo "\n\n\n                       1-dos格式盘      2-unix格式盘:\n\n"

    echo "                                         请选择:\c"
               read du
                echo "\n插入磁盘后按回车继续!\c";read d;
               case "$du" in
               1)
               (dosdir  a: 2>/dev/null )||(echo "\n未插入磁盘或磁盘已损坏!\c";read e)
               echo "              请输入所要上传的文件名全称:"
                echo "                             filename:\c"
                                           read  filename
               (doscp  a:/$filename .  2>/dev/null ) || (echo "\n未插入磁盘或磁盘已损坏!\c"
                           echo "拷贝完闭!\n";read c ;;
               2)
              (tar tv 2>/dev/null) ||(echo "\n未插入磁盘或磁盘已损坏!\c";read f)
                echo "              请输入所要上传的文件名全称:
                              
                                            filename:\c"
                                          read  filename;
               (tar xv $filename 2>/dev/null) ||(echo "\n未插入磁盘或磁盘已损坏!\c"
                       echo "拷贝完闭!\n";read c ;;
              *)
                ;;
              esac
  ;;

2)echo "上传文件......"
  open 192.0.0.161
  user usr passwd
  binary
  prompt off
  mput *  
  colse
  bye
;;
3) exit
;;
*)
;;
esac
done
     

论坛徽章:
0
13 [报告]
发表于 2003-07-28 21:34 |只看该作者

关于读文件上传的shell,请大家帮助检查,初学不能找到错误

如果未装磁盘,如何跳过下面的输入文件名等

论坛徽章:
0
14 [报告]
发表于 2003-07-29 14:58 |只看该作者

关于读文件上传的shell,请大家帮助检查,初学不能找到错误

# 由于初学shell 不能找到错误,请大家指正,再次表示感谢!this program for ftp
#bin/sh
trap '' 0 1 2 3 5 9 13 15
while true
do
        clear
        echo "
        ┌─────────┐
        │ 代理国税传输程序 │
        └─────────┘
        ┏━━━━━━━━━━━━━━━━┓
        ┃                                ┃
        ┃ 1、拷贝上传文件。              ┃
        ┃ 2、上传代税文件。              ┃
        ┃                                ┃
        ┃ 3、退出!                      ┃
        ┃                                ┃
        ┗━━━━━━━━━━━━━━━━┛
        ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
        请选择:\c"
        read choice
        case "$choice" in
        1) clear
                echo "\033[12;8H1-dos格式盘 2-unix格式盘
                请选择:\c"
                read du
                echo "\n插入磁盘后按回车继续!\c";read d;
                case "$du" in
                1)       
                        dosdir a: 2>/dev/null
                        if [ $? -ne 0 ]
                        then
                                echo "\n未插入磁盘或磁盘已损坏!"
                                read key; break;
                        fi
                       
                        echo " 请输入所要上传的文件名全称: \nfilename:\c"
                        read filename
                        doscp a:\$filename . 2>/dev/null
                        if [ $? -ne 0 ]
                        then
                                echo "\n无指定文件"
                                read key; break;
                        else
                                echo "拷贝完闭!\n"
                                read key
                        fi
                        ;;

                2)
                        tar tv 2>/dev/null
                        if [ $? -ne 0 ]
                        then
                                echo "\n未插入磁盘或磁盘已损坏!"
                                read key; break;
                        fi
                       
                        echo " 请输入所要上传的文件名全称: \n filename:\c"
                        read filename
                        tar xv $filename 2>/dev/null
                        if [ $? -ne 0 ]
                        then
                                echo "\n无指定文件"
                                read key; break;
                        else
                                echo "拷贝完闭!\n"
                                read key
                        fi
                        ;;
                *) ;;
                esac
         ;;
       
        2)
        echo "上传文件......"
        ftp -n<<!
open 192.168.39.219
user root root
cd /tmp
binary
prompt off
mput *
colse
bye
!
;;
        3) exit;;
        *)  ;;
        esac
done

论坛徽章:
0
15 [报告]
发表于 2003-07-29 16:58 |只看该作者

关于读文件上传的shell,请大家帮助检查,初学不能找到错误

原帖由 "一可" 发表:
1、 echo 与 ” 之间得有空格,



晕死。果然 改了这个就好了。

论坛徽章:
0
16 [报告]
发表于 2003-07-30 22:30 |只看该作者

关于读文件上传的shell,请大家帮助检查,初学不能找到错误

别的都调试好了,唯独加上
ftp -n<<!
--
--
!    这两句时出现   syntax error  at line 90: 'end of file ' unexpected

再次对大伙表示感谢!

论坛徽章:
0
17 [报告]
发表于 2003-07-30 22:58 |只看该作者

关于读文件上传的shell,请大家帮助检查,初学不能找到错误

ftp -n<<!
--
--
!

你把 ! 换成别的 字符。比如 EOF 等就可以了。

! 是个特殊的字符。

论坛徽章:
0
18 [报告]
发表于 2003-07-30 23:13 |只看该作者

关于读文件上传的shell,请大家帮助检查,初学不能找到错误

# this program for ftp
trap '' 0 1 2 3 5 9 13 15
while true
do
clear
echo "                       ┌─────────┐
                       │ 代理国税传输程序 │
                       └─────────┘
                ┏━━━━━━━━━━━━━━━━┓   
                ┃                                ┃
                ┃         1、拷贝上传文件。      ┃
                ┃         2、上传代税文件。      ┃
                ┃                                ┃
                ┃           3、退出!            ┃
                ┃                                ┃
                ┗━━━━━━━━━━━━━━━━┛
                 ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
                               请选择:\c"
read choice
case "$choice" in
   1)clear
     echo "\033[10;20H  1-dos格式盘      2-unix格式盘:\n\n"

    echo "                        请选择:\c"
               read du
               case "$du" in
               1)
                echo "\n插入磁盘后按回车继续!\c";read d;
               (dosdir  a: 2>/dev/null )||(echo "\n未插入磁盘或磁盘已损坏!\c";read e)
               echo "              请输入所要上传的文件名全称:"
                echo "                             filename:\c"
                                           read  filename
               (doscp  a:/$filename .  2>/dev/null ) || (echo "\n未插入磁盘或磁盘已损坏!\c"
                           echo "拷贝完闭!\n";read c ;;
               2)
                echo "\n插入磁盘后按回车继续!\c";read d;
              (tar tv 2>/dev/null) ||(echo "\n未插入磁盘或磁盘已损坏!\c";read f)
                echo "              请输入所要上传的文件名全称:
                              
                                            filename:\c"
                                          read  filename;
               (tar xv $filename 2>/dev/null) ||(echo "\n未插入磁盘或磁盘已损坏!\c"
                       echo "拷贝完闭!\n";read c ;;
              *)
                ;;
              esac
  ;;

2)echo "上传文件......"
ftp -n <<EOF
open  192.0.0.161
  user tax tax
  binary
  prompt off
  mput *  
  close
  bye
EOF
;;
3) exit
;;
*)
;;
esac
done

论坛徽章:
0
19 [报告]
发表于 2003-07-31 08:58 |只看该作者

关于读文件上传的shell,请大家帮助检查,初学不能找到错误

我在red hat linux 上运行没有错误提示。
没有进行里面具体的选项测试。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP