ubuntu12.04版本
以下脚本,总是报错
#!/bin/bash while read line do testing=$(echo $line | grep -ic '<servername>') if [ "$testing" == "1" ] ; then #here [==] is reason echo $line fi done < dbinfo.xml
报错的提示为
dbinfo2.sh: 6: [: 0: unexpected operator dbinfo2.sh: 6: [: 1: unexpected operator dbinfo2.sh: 6: [: 0: unexpected operator dbinfo2.sh: 6: [: 0: unexpected operator dbinfo2.sh: 6: [: 0: unexpected operator dbinfo2.sh: 6: [: 0: unexpected operator dbinfo2.sh: 6: [: 0: unexpected operator
查找原因
1.ubuntu默认的shell版本为dash,改为鸟哥小菜中的bash
2.使用=(一个等于号)比较字符串的
其实,鸟哥推荐使用==(两个等于号)比较字符串,话说一个有赋值的意思
那么怎么把sh改为指向bash呢?
最暴力的方法当然是直接把/bin/sh的软链接改到bash中,
如:ln -s /bin/bash /bin/sh
但是,有优雅一些的方法,
sudo dpkg-reconfigure dash
出现菜单问你是否要dash的时候,选no就可以了。
再次检查一下, ls /bin/sh -al 发现软链接指向/bin/bash就可以了。
linux 软连接怎么查看原始地址
只要ls -l 一下这个文件 ->后面就是原始地址 ls -l sh lrwxrwxrwx 1 root root 4 4月 26 16:46 sh -> bash
相关推荐
例如,尝试将字符串与数字进行算术运算,或者使用了未初始化的变量,都会导致运行时错误。理解NCL的数据类型(如字符、整数、浮点数和数组)及其操作规则至关重要。 描述中提到上传了两张图片,这可能是显示了报错...
shell进行字符串截取 运行 ${GIT_COMMIT:0:6}报错: /tmp/jenkins7505855461406722507.sh: 4: /tmp/jenkins7505855461406722507.sh: Bad substitution 原因:两种shell语言解释器 bash和dash 查看当前/bin/sh ...
i386.deb`时,可能会出现错误提示:“dpkg:处理~/linuxqq_v1.0.2-beta1_i386.deb(--install)时出错:parsing file '/var/lib/dpkg/tmp.ci/control' near line 7 package 'linuxqq': 版本字符串v1.0.2-beta1中有...
在使用pip3的时候,错误信息如下: WARNING: pip is configured with locations that require TLS/SSL, however the ssl ...出现这种错误可以在Modules/Setup中,Ctrl + F查找字符串SSL, 将找到的第一个SSL下面的命
你还可以在脚本中使用`readonly`关键字设置变量为只读,一旦设置,尝试更改该变量将会报错。如果不再需要某个变量,可以使用`unset`关键字来删除它。 此外,Shell脚本允许在运行时接收命令行参数,这些参数通过位置...
这涉及到在`build/core/main.mk`文件中检查`build_arch`变量是否包含"64"或"i686"字符串。不满足条件的情况下,会打印警告信息并停止构建过程。 3. **Java开发工具包(JDK)的安装和配置**:Android开发依赖Java,...
安装完黑苹果之后,bios的时间是不动了。...新建字符串值 timesync 数据=c:\autorun.bat 即可 第1,2点是为了让时间不会变慢,第3点保证开机时间就同步。不用等半个小时. 以上可100%解决黑苹果时间同步问题。
在Ubuntu操作系统中,为了让Python脚本能够像普通可执行文件一样直接运行,需要进行一些配置。这主要涉及到两个步骤:指定Python解释器路径和赋予脚本执行权限。下面详细讲解这两个步骤以及解决可能出现的问题。 ...
`来去掉`ONLY_FULL_GROUP_BY`,替换`'new_value'`为不含`ONLY_FULL_GROUP_BY`的新模式字符串。 - 会话模式修改:如果你只需要改变当前会话的模式,可以使用`SET sql_mode = 'new_value';`。 - 配置文件修改:在`my...
由于数据可能包含特殊字符,如单引号,我们使用列表推导式和字符串的`replace()`方法将单引号替换为两个单引号,以避免在输出时引发错误。 `filtered_results`变量存储了处理后的数据,每个元素都是一个列表,代表...
在C++代码的`Py_BuildValue()`调用中,`(ss)`是一个格式字符串,表示我们正在创建一个包含两个字符串的元组。这个函数将C++的字符串转换为Python对象,使得Python函数能理解这些参数。`PyArg_Parse()`则完成了相反的...
- 要在`echo`中使用转义序列(如 `\t` 表示制表符),可以使用 `-e` 选项,但在Ubuntu 14.04中,这个选项可能是不必要的。 **打印彩色输出** 在终端中使用转义序列可以实现彩色输出,这对于调试和显示重要信息非常...
在实验代码中,可以看到典型的汇编语言结构,如`.section .data`定义数据段,`.ascii`用于字符串常量,`.int`用于整数初始化。`_start`是程序的入口点,`movl`、`addl`、`cmovl`等指令用于操作寄存器和内存,`call`...
在这个例子中,我们首先创建了一个`DOMDocument`对象,并加载了一个XML字符串。然后,`simplexml_import_dom()` 将这个DOM文档转换为一个SimpleXML对象。最后,我们通过属性访问器`->from`来输出XML中的`from`元素的...
12. 数据库连接安全:实例中使用try...catch语句块来捕获并处理数据库连接时可能出现的异常,这样可以避免在出现数据库连接错误时服务器报错。 综上所述,这个实例演示了在Ubuntu 16.04操作系统环境下,使用PHP脚本...
它支持多种数据结构,如字符串、哈希、列表、集合和有序集合,这些数据结构在许多应用中都非常有用。例如,哈希可以用来存储键值对,列表可以处理顺序数据,而有序集合则允许对元素进行排序。 在Redis 4.0.10版本中...
4. **文本操作**:m4还支持一系列内置函数,如`shift`用于移除参数列表的第一个元素,`index`用于查找子字符串,`eval`用于计算数学表达式等。 三、m4在Linux系统中的应用 1. **配置脚本**:m4常用于软件构建过程...
在这个过程中,我们会先绘制随机的噪线以增加验证码的复杂性,然后使用随机选择的颜色和字体在画布上绘制验证码字符串。最后,验证码图片会被保存到内存流中并以“image/Png”格式返回。 在部署阶段,需要注意的是...
何为MySQL的严格模式,简单来说就是MySQL自身对数据进行严格的校验(格式、长度、类型等),比如一个整型字段我们写入一个字符串类型的数据,在非严格模式下MySQL不会报错,同样如果定义了char或varchar类型的字段,...