GreenFaith / GreenFaith.github.io

wiki.shixiz.com
1 stars 0 forks source link

bash 语法探索 #15

Open GreenFaith opened 10 years ago

GreenFaith commented 10 years ago

关于 bash 语法的书籍总是那么复杂,尝试看过几次所谓的 Beginner Guide
都被其中各种古怪的语法吓尿,索性自己来探索一番。

GreenFaith commented 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++ 也可以使用。脑残的是「=」两边不能有空格。

GreenFaith commented 10 years ago

函数

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

在函数中调用另一个函数。