转载于:http://www.51testing.com/?uid-225738-action-viewspace-itemid-208702

我用bash到语法写了一个shell脚本(准确的说是把书上的脚本敲进电脑),在ubuntu下,用sh test.sh来运行,但是出现了意料之外到结果,比如echo -e "\nTest\n"到执行就不同,直接用sh test.sh运行,会打印出-e(作为字符串);而直接在终端中输入echo -e "\nTest\n"是不会输出"-e"的。
我就在想是什么原因,后来终于发现是Ubuntu下sh默认指向dash
echo $SHELL  -->  /bin/bash
type sh      -->  /bin/sh
然后我到/bin下看了有"sh -> dash",原来sh是/bin/dash的链接。
后来google了一下才发现,buntu6.10已将先前默认的bashshell更换为了dash。其表现是/bin/sh链接到了/bin/dash而不是传统的/bin/bash。
bash - GNU Bourne-Again SHell
dash - Debian Almquist Shell
可以分别man bash  / man dash看一下。

那么怎么把sh改为指向bash呢?
最暴力的方法当然是直接把/bin/sh的软链接改到bash中,
如:ln -s /bin/bash /bin/sh
但是,有优雅一些的方法,
sudo dpkg-reconfigure dash
出现菜单问你是否要dash的时候,选no就可以了。
再次检查一下, ls /bin/sh -al 发现软链接指向/bin/bash就可以了。

转载于:https://www.cnblogs.com/songfeixiang/p/3733786.html

buntu下shell脚本运行异常:bash和…相关推荐

  1. linux shell脚本攻略_(python)Linux下shell脚本监控Tomcat的状态并实现自动启动步骤...

    今天为大家带来的内容是:(python)Linux下shell脚本监控Tomcat的状态并实现自动启动步骤 本文内容主要介绍了Linux下shell脚本监控Tomcat的状态并实现自动启动的步骤,文章 ...

  2. Linux下Shell脚本实战之监测磁盘空间

    Linux下Shell脚本实战之监测磁盘空间 一.脚本目的及要求 二.脚本内容 三.运行脚本 一.脚本目的及要求 (1) 监控/home下每各个用户目录的占用磁盘大小 (2) 监控/var/log下前 ...

  3. Linux下shell脚本之双色球摇号脚本

    Linux下shell脚本之双色球摇号脚本 一.脚本要求 二.脚本内容 三.运行脚本 一.脚本要求 二.脚本内容 三.运行脚本 一.脚本要求 1.编写脚本Lottery.sh,模拟摇号过程 2.6位数 ...

  4. Linux下shell脚本实战之批量新建用户

    Linux下shell脚本实战之批量新建用户 一.脚本要求 二.脚本内容 三.运行脚本 一.脚本要求 二.脚本内容 三.运行脚本 一.脚本要求 1.使用提供的user.txt用户列表 2.批量新建us ...

  5. Linux下shell脚本/Makefile编写

    Linux下shell脚本/Makefile编写 一.基本概念 代码变成可执行文件,叫做编译(compile):先编译这个,还是先编译那个(即编译的安排),叫做构建(build). make只是一个指 ...

  6. Linux 下Shell脚本删除过期文件

    在写这个shell之前先说一下,stat命令的使用方法 一.关于时间戳 每一个文件都有3中时间(称为时间戳timestamps),对这3种时间,很多时候容易混淆不清,因此 这里要说明下:   Acce ...

  7. shell的建立与执行实验报告_实验七 Shell脚本运行的优化

    实验七 Shell脚本运行的优化 一.添加窗口 在Shell脚本的运行过程中,也可以实现类似于Windows系统和Linux系统中的窗口效果,使脚本运行美观. 1.dialog软件的安装 - dial ...

  8. linux下的shell脚本,linux下shell脚本的学习

    一:shell脚本须以#!/bin/sh开始,指定了命令的解释器 #!/bin/sh  //指定解释器 sudo mv /home/pi/Desktop/installationPackage/bac ...

  9. linux下shell脚本启动其他可执行程序

    linux下shell脚本启动其他可执行程序 零.前言 一.C++代码 二.shell脚本 三.shell运行效果 零.前言 linux下的项目中经常需要使用shell脚本去启动其他程序的操作,下面是 ...

最新文章

  1. 全卷积目标检测:FCOS
  2. helm部署仓库中没有的包_Kubernetes的Helm软件包管理器简介
  3. jvm的那些设置参数你都知道吗
  4. jquery function_前端基础进阶(十三)详细图解jQuery扩展jQuery插件
  5. 1.vue简介以及模板语法---vue教程
  6. ios 自定义圆环进度条
  7. 20个it专业术语_DevSecOps这个术语是否必要?
  8. 【转载】js 对表格进行各种操作(转)
  9. 走近棒球运动·堪萨斯城皇家队·MLB棒球创造营
  10. java对七牛云文件的增删改查语句_七牛云导播
  11. 夏日汽车保养 雨季汽车保养
  12. Lazada商家售出产品多久能收款?收款方式及流程一篇详解!
  13. 本周内外盘行情回顾2022.2.27
  14. 笔记本nc10装linux,三星nc10笔记本快捷键驱动
  15. 计算机的边界值分析法,黑盒测试:边界值分析法及测试用例设计.doc
  16. Sencha Touch中 xclass和xtype区别
  17. 智能血糖仪行业调研报告 - 市场现状分析与发展前景预测
  18. 玩转Java网页抓取
  19. 波利亚(Polya)罐子模型
  20. GTK+ Hello World

热门文章

  1. 不重启程序使用最新版package
  2. 一步一步手绘Spring AOP运行时序图(Spring AOP 源码分析)
  3. 蓝桥杯 BASIC-26 基础练习 报时助手
  4. 【C++ 与 STL】栈:stack
  5. php date 加30分钟,PHP date函数常用时间处理方法
  6. mysql将一个表的字段更新到另一个表中
  7. Python性能测试方法
  8. centos6.5 安装php-5.6.31
  9. 为什么软件预算经常会改变和膨胀
  10. centos6.6-zabbix2.4.5安装实战