#!/bin/bashfunction sayIt {
echo "hello world"}
sayIt
This returns "hello world" on my laptop, but on my Desktop it returns:
run.sh:3:function not found
hello world
run.sh:5:Syntax error:"}" unexpected
从 ubuntu 6.10 开始,ubuntu 就将先前默认的bash shell 更换成了dash shell;其表现为 /bin/sh 链接倒了/bin/dash而不是传统的/bin/bash。
ubuntu edgy是第一个将dash作为默认shell来发行的版本,这似乎是受了debian的影响。wiki 里面有官方的解释,https://wiki.ubuntu.com/DashAsBinSh,主要原因是dash更小,运行更快,还与POSIX兼容。
但目前存在的问题是,由于shell的更换,致使很多脚本出错,毕竟现在的很多脚本不是100%POSIX兼容。
在wiki里面也说到,如何将默认的shell改回bash,方法就是
在终端执行 sudo dpkg-reconfigure dash
然后选择 no。
相关推荐
Shell脚本支持条件语句(if/else)、循环(for/while)、函数以及系统命令和环境变量的使用。例如,`if`语句用于根据条件执行不同的代码块,`for`循环则可用于遍历列表或执行固定次数的操作。环境变量是系统级别的...
与该功能相关的Linux命令:readonly命令 – 标记shell变量或函数为只读vipw命令 – 编辑某些配置文件dpkg-split命令 – 分割软件包resize命令 – 设置终端机视窗的大小source命令 – 在当前Shell环境中从指定文件...
在大多数现代Linux发行版和macOS上,可以通过包管理器安装Zshell,例如在Ubuntu或Debian上: ```bash sudo apt-get install zsh ``` 在macOS上,可以使用Homebrew: ```bash brew install zsh ``` 安装完成后,...
"sh代码-ubuntu常用命令"这个主题主要是关于使用Bash shell脚本(以`.sh`为扩展名)来执行Ubuntu系统中的常见命令。Bash是Unix和Linux系统中最常用的shell,它提供了丰富的命令行工具和自动化脚本编写能力。 首先,...
本文将重点探讨基于SSH2协议的C函数库——libssh2,以及它在Linux系统,特别是Ubuntu环境中的应用。 libssh2是一个开源项目,其目标是为开发者提供一个简单易用的接口,以便在各种软件中集成SSH2功能。这个库支持...
- 要在`echo`中使用转义序列(如 `\t` 表示制表符),可以使用 `-e` 选项,但在Ubuntu 14.04中,这个选项可能是不必要的。 **打印彩色输出** 在终端中使用转义序列可以实现彩色输出,这对于调试和显示重要信息非常...
10. **Shell脚本编程**:入门Bash shell脚本,学习变量、条件语句、循环和函数的使用,以便自动化日常任务。 11. **远程访问**:学习使用SSH(Secure Shell)进行远程登录和文件传输,以及设置SSH密钥对免密码登录...
- 将RVM添加到shell启动文件中,确保每次打开新的终端时都能加载RVM环境。 - 使用`source ~/.bashrc`命令使更改立即生效。 4. **安装Ruby版本** - 安装Ruby 1.8.7和Ruby 1.9.2版本,这两个版本是Rails 2.x和...
2. **错误代码解析**:当系统或应用报错时,通常会提供一个错误代码,比如`errno`,查阅相关文档或在线搜索可了解其含义。 3. **系统监控**:利用`top`、`htop`、`iotop`、`vmstat`、`iostat`、`free`等命令实时...
1. **更新或安装编译依赖**:如果问题是由于缺少编译依赖导致的,确保你已经安装了所有必要的编译工具,比如在Ubuntu上可以安装`build-essential`,在Windows上可能需要Visual C++ Build Tools。 2. **使用conda**...