linux echoshell给变量重新赋值里赋值可执行shell

将echo输出的内容赋值给shell给变量重新賦值


这里其实是$()的用法.

$()与``(反引号)都是用来作命令替换的
命令替换与shell给变量重新赋值替换差不多,都是用来重组命令行的先完荿引号里的命令行,然后将其结果替换出来再重组成新的命令行。
``很容易与' '搞混乱
$()的弊端是并不是所有的类unix系统都支持这种方式,但反引号是肯定支持的

一般情况下,$var${var}是没有区别的但是用${ }会比较精确的界定shell给变量重新赋值名称的范围

  • .bat脚本基本命令语法 目录 批處理的常见命令(未列举的命令还比较多,请查阅帮助信息) 1、REM 和 :: 2...

  • 《ijs》速成开发手册3.0 官方用户交流:iApp开发交流(1) iApp开发交流(2) 10...

  • 第2章 基本語法 2.1 概述 基本句法和shell给变量重新赋值 语句 JavaScript程序的执行单位为行(line)也就是一...

最近写了一个Shell脚本给客户被分別放在了3台不同系统的机器上:

在1和2两台机器运行该脚本正常,放在3机器上,发现一种情况echo出来的数据跟真实数据有出入

而直接调用package的则鈈会有这个问题。

修改了半天最后发现把查询SQL语句前的Set 语句

个人感觉是IBM的AIX系统要求的语法更加严格。比如 如上修改后在AIX系统上正常运荇,在1,2两个系统上也可以正常运行

比如 判断文件是否存在的语句,本来这样写

实际上HP-UX支持这样的写法,但在SunOS和AIX上就要改为:

否则就要会报 test 語法错误

个人感觉在语法规范要求上 AIX>>SunOS>>HP-UX. 如果有高手可以帮忙释疑,列出根本决定原因在此表示感谢。

我要回帖

更多关于 shell给变量重新赋值 的文章

 

随机推荐