以下2行完全相同吗?如果不是有什么区别?我已经看到很多shell脚本使用的是1号,只是想知道它与2号相比给你的东西。
typeset TARGET="${XMS_HOME}/common/jxb/config/${RUNGROUP}.${ENV}.properties"
TARGET="${XMS_HOME}/common/jxb/config/${RUNGROUP}.${ENV}.properties"
答案 0 :(得分:4)
typeset
将创建一个局部变量(一个不“泄漏”的变量)。这在函数中很有用,但我也看到它在shell脚本的顶层使用。
a=0
function x {
typeset a=1
}
x
echo $a
function y {
a=2
}
y
echo $a
将打印
0
2
您还可以使用typeset
创建数组和整数。
[编辑] 添加了function
关键字,因为有些shell需要它。如果它冒犯了你的shell,请删除它,但它应该适用于大多数版本。
答案 1 :(得分:0)
由于shell脚本是一种松散类型的语言(变量不具有datytype),我们可以使用typeset来设置一个特定的变量,只采用类似的数据类型。