Open GreenFaith opened 10 years ago
a=b
echo $a
>> b
奇葩的语法有木有,b竟然直接就是字符了。
a=b+1
echo $a
>> b+1
确实是直接被当成字符串处理了。。。 来测试下变量名
0=hello
echo $0
>> hello
数字也能作为变量名。太可怕了,连中文都可以做变量。 那么值运算怎么办?
#给变量 a 加一
a=1
let a=a+1
let a++
echo $a
>> 3
a++ 也可以使用。脑残的是「=」两边不能有空格。
now()
{
date
}
now
>> 2014-08-25 18:13:04
函数定义和调用都好简洁! 但是特么的好像只能孤独的使用,函数怎么参与计算呢。 接下来这个我实在没试出来,是查到的用法,足见语法之奇葩。
a=`now`
echo $a
>> 2014-08-25 18:13:04
通过在函数名两边加「`」来调用函数。
a()
{
'hello'
}
b()
{
`a`
}
b
>> hello
在函数中调用另一个函数。
关于 bash 语法的书籍总是那么复杂,尝试看过几次所谓的 Beginner Guide
都被其中各种古怪的语法吓尿,索性自己来探索一番。