预览加载中,请您耐心等待几秒...
1/2
2/2

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

我写了一个非常简单的脚本,用于上传某个文件到hadoop中hdfs的某个目录。在输入文件名称或目录名称时,有时候会输错,需要删除错误输入,但在敲退格键时时出现乱码^H,每按一下退格键就会出现一个^H。搜索网上资料,参考了如下网页,得到解决办法:http://hi.baidu.com/moonlight_bupt/blog/item/1b6a7acc5435c00700e928df.html,它提供了两个方法:一是,在敲退格键时,同时按住ctrl键;二是,修改.bash_profile文件:a)在bash下:$sttyerase^?或者把sttyerase^?添加到.bash_profile中。b)在csh下:$sttyerase^H或者把sttyerase^H添加到.cshrc中。sttyerase"^H" 我两个方法都试验了一下,第一个方法没有问题,但在试验第二个方法时,出了问题,如下:我的默认shell是bash,脚本中调用的也是bash。我在.bash_profile中写入$sttyerase^?,但根本没有效果!于是写入sttyerase"^H",这才有效果。后来仔细观察了一下,我在bash中敲退格键时出现^H,而这个字符应该是csh中出现的东西!不知道这个诡异的现象是怎么来的。 附脚本: #!/bin/bash #2011-06-07byqinshan.li # echo-n"Typeyourpath:" readpath ~/hadoop-0.20.2-CDH3B4/bin/hadoopfs-mkdir${path} if[["$?"="0"]];then echo-e"$(date"+%T"):Createdirectorysuccessfully!" else echo-e"$(date"+%T"):Createdirectoryfailed!" fi echo-n"Typeyourfiletoupload:" readfile ~/hadoop-0.20.2-CDH3B4/bin/hadoopfs-moveFromLocal${file}${path} if[["$?"="0"]];then echo-e"$(date"+%T"):Uploadedsuccessfully!" else echo-e"$(date"+%T"):Uploadedfailed!" fi