当前位置: 首页 > news >正文

【转】bash shell退格键乱码

转自:http://share.blog.51cto.com/278008/583382

 

我写了一个非常简单的脚本,用于上传某个文件到hadoop中hdfs的某个目录。在输入文件名称或目录名称时,有时候会输错,需要删除错误输入,但在敲退格键时时出现乱码^H,每按一下退格键就会出现一个^H。
    搜索网上资料,参考了如下网页,得到解决办法:http://hi.baidu.com/moonlight_bupt/blog/item/1b6a7acc5435c00700e928df.html,它提供了两个方法:
  一是,在敲退格键时,同时按住ctrl键;
  二是,修改.bash_profile文件:
     a)在bash下:$ stty erase ^?
     或者把 stty erase ^? 添加到.bash_profile中。
    b) 在csh下:$ stty erase ^H
     或者把 stty erase ^H 添加到.cshrc中。
     stty erase "^H"

    我两个方法都试验了一下,第一个方法没有问题,但在试验第二个方法时,出了问题,如下:
    我的默认shell是bash,脚本中调用的也是bash。我在.bash_profile中写入$ stty erase ^?,但根本没有效果!于是写入stty erase "^H",这才有效果
    后来仔细观察了一下,我在bash中敲退格键时出现^H,而这个字符应该是csh中出现的东西!不知道这个诡异的现象是怎么来的。
 
附脚本:
#!/bin/bash 
#2011-06-07 by qinshan.li
#
echo -n "Type your path: " 
read path 
~/hadoop-0.20.2-CDH3B4/bin/hadoop fs -mkdir ${path} 
if [[ "$?" = "0" ]]; then 
echo -e "$(date "+%T") : Create directory successfully! " 
else 
echo -e "$(date "+%T") : Create directory failed! " 
fi 
 
echo -n "Type your file to upload: " 
read file 
~/hadoop-0.20.2-CDH3B4/bin/hadoop fs -moveFromLocal ${file} ${path} 
if [[ "$?" = "0" ]]; then 
echo -e "$(date "+%T") : Uploaded successfully! " 
else 
echo -e "$(date "+%T") : Uploaded failed! " 
fi 

 

转载于:https://www.cnblogs.com/fzzl/archive/2013/03/07/2947759.html

相关文章:

  • hadoop mapreduce 优化
  • DDMS中的log
  • Collections
  • 初会smarty
  • ubuntu12.10配置java环境
  • 基于字符串的简单汇编虚拟机
  • 快速升级Oracle 11.2.0.2 RAC到11.2.0.3
  • SQL如何在已有的一张表中插入一列类型为INTEGER数据 并赋初始值为0
  • sublime text 3
  • 木杉大话微软手机系统
  • Python Dict 创建
  • 如何在存储过程内部调用另一个存储过程 EXEC
  • 翻转句子中单词的顺序
  • 转 MapGuide HTTP API
  • 倍压整流电路
  • 【Leetcode】104. 二叉树的最大深度
  • android图片蒙层
  • Android组件 - 收藏集 - 掘金
  • C语言笔记(第一章:C语言编程)
  • docker python 配置
  • iOS高仿微信项目、阴影圆角渐变色效果、卡片动画、波浪动画、路由框架等源码...
  • js
  • laravel5.5 视图共享数据
  • Linux CTF 逆向入门
  • Redis 懒删除(lazy free)简史
  • Storybook 5.0正式发布:有史以来变化最大的版本\n
  • vue-router的history模式发布配置
  • Webpack 4x 之路 ( 四 )
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 机器学习 vs. 深度学习
  • 聚类分析——Kmeans
  • 时间复杂度与空间复杂度分析
  • 延迟脚本的方式
  • 用element的upload组件实现多图片上传和压缩
  • LIGO、Virgo第三轮探测告捷,同时探测到一对黑洞合并产生的引力波事件 ...
  • ​2021半年盘点,不想你错过的重磅新书
  • ​DB-Engines 12月数据库排名: PostgreSQL有望获得「2020年度数据库」荣誉?
  • ​人工智能之父图灵诞辰纪念日,一起来看最受读者欢迎的AI技术好书
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • $(function(){})与(function($){....})(jQuery)的区别
  • (done) NLP “bag-of-words“ 方法 (带有二元分类和多元分类两个例子)词袋模型、BoW
  • (LeetCode C++)盛最多水的容器
  • (二)springcloud实战之config配置中心
  • (附源码)node.js知识分享网站 毕业设计 202038
  • (四)linux文件内容查看
  • (转)Groupon前传:从10个月的失败作品修改,1个月找到成功
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • (转)详解PHP处理密码的几种方式
  • ***测试-HTTP方法
  • .NET C#版本和.NET版本以及VS版本的对应关系
  • .Net CF下精确的计时器
  • .net core 控制台应用程序读取配置文件app.config
  • .NET Core日志内容详解,详解不同日志级别的区别和有关日志记录的实用工具和第三方库详解与示例
  • .NET 读取 JSON格式的数据
  • .NET 简介:跨平台、开源、高性能的开发平台