以下 2 行是否完全等效?如果不是,有什么区别?我已经看到很多 shell 脚本都使用数字 1,只是想知道与数字 2 相比它能给你带来什么。
typeset TARGET="${XMS_HOME}/common/jxb/config/${RUNGROUP}.${ENV}.properties"
TARGET="${XMS_HOME}/common/jxb/config/${RUNGROUP}.${ENV}.properties"
typeset
将创建一个局部变量(一个不会“泄漏”的变量)。这在函数中很有用,但我也看到它在 shell 脚本的顶层使用。
a=0
function x {
typeset a=1
}
x
echo $a
function y {
a=2
}
y
echo $a
将打印
0
2
您还可以typeset
用来创建数组和整数。
[编辑]添加function
关键字,因为某些 shell 需要它。如果它冒犯了您的外壳,请将其删除,但它应该适用于大多数版本。
since shell scripting is a loosely typed language (in which variables wont have a datytype) we can use typeset to set a particular variable to take similar datatype of values only.