以下脚本出自鸟哥第十二章。
关于上述脚本,在以下方式运行时会报错:
简单来说就是方括号里的操作解析不了。
看一下sh是什么:
发现sh其实是dash的符号链接。所以在用sh解析脚本时,实际上使用dash解析的脚本。dash并不认识这个命令,因为我们使用满足bash的语句写的,因此,用bash解析:
查看我的当前shell:
发现是bash,因此我可以用./形式来运行:
实际上,在bash中,==和=号是等价的,但在dash中只能用=号,因此通过修改脚本也能使脚本运行正常:
在bash中将==号改为=号:
可以看出,修改成=号之后,无论什么方式都可以解析成功,使用==的意义在于,在各种程序中,==号经常用作判断两边元素的相等性,更具有可读性。