对于熟悉小C shell编程的人来说,这是一个简单的问题
我发布了我程序的一些代码行
........
set gramma = $<
else if ($gramma == 's') then
echo " ta defterolepta pou menoun ine " secs_remain
else if ($gramma == 'm') then
@ min = $secs_remain % 60
@ secs = $secs_remain - ($min*60)
echo " o xronos pou meni ine " min " lepta ke " secs " defterolepta "
else if ($gramma == 'h') then
.........
我的问题是关于角色。正如您所看到的,我正在从键盘上读取一个角色。
在if
命令中,我的角色是否需要'
和'
?
或者我可以简单地写下角色吗?
例如
if ($gramma == 's') then
或
if ($gramma == s) then
我知道如果它是一个字符串,它将是
if ($gramma == "sexy") then
如果是数字
if ($gramma == 4) then
单个角色怎么样?
答案 0 :(得分:1)
我认为你问的是,比较的右侧是否总是包含在单引号字符中? =='m'(右手边)
当然,答案取决于
单引号表示内部的任何变量值都不会扩展为已分配的值。如果您有变量值,请使用双引号字符引用它们。
如果您真的,真的,真的,确定您永远不会在右侧评估为多个值,那么您可以省略单个或双引号带有白色空间字符的'字'值。你真的需要引用(单或双)来避免白色空间字符的问题。
我认为编写有关shell编码的书籍的人们普遍认为,你总是希望用适当的引号包围字符串比较操作(==,!=,〜=)的左右两侧。 ,如果需要可变扩展,则为double,否则为single。