为什么bash使用<PATIENTS>
<PATIENT>
<APPOINTMENTS>
<APPOINTMENT>
<UserInitials>123</UserInitials>
<Date>Some Date</Date>
<ApptTime>14:30</ApptTime>
<Duration>00:15</Duration>
<AppointmentStatus>Complete</AppointmentStatus>
<Notes>Some note</Notes>
<TreatmentType>Some Appoinment type</TreatmentType>
</APPOINTMENT>
</APPOINTMENTS>
</PATIENT>
</PATIENTS>
数字比较等,和==,!=等进行字符串比较?
Bash语法有其怪癖,这使得编写和记忆变得困难,但对于一个简单的用例来说,这似乎完全不直观。
来源:[bash syntax] [1] http://www.ibm.com/developerworks/library/l-bash-test/index.html
答案 0 :(得分:1)
bash
只有一种类型:字符串。更丰富的类型语言可以重载(例如)>
运算符以基于参数的类型执行字符串比较或数字比较。缺少字符串类型以外的任何内容,bash
必须为不同的操作分别设置运算符。比较
[[ 9 > 10 ]] # exit status 0; 9 is lexicographically greater than 10
[[ 9 -gt 10 ]] # exit status 1; 9 is not numerically greater than 10
但是,如果在算术表达式中使用数字,则可以使用常规运算符,其中bash
假设所有值都是数字或带有数值的变量。
(( 9 > 10 )) # exit status 1, 9 is not numerically greater than 10
(( 9 > foo )) # same as [[ 9 -gt $foo ]]