用來指定指令碼用什麼直譯器來執行
拿python指令碼來舉例
同乙個指令碼test.py
print "hello python"
如果在第一行加了#!/usr/bin/python,那麼在執行指令碼時可以直接./test.py
如果沒加#!/usr/bin/python,直接執行./test.py,會報錯
[root@demo200 sqlw]# ./test.py
./test.py: line 1: print: command not found
加了#!/usr/bin/python,直接執行./test.py,效果如下
[root@demo200 sqlw]# ./test.py
hello python
如果python不是裝在預設的/usr/bin路徑裡,可以用#!/usr/bin/env python這種寫法
#!/usr/bin/env python 這種用法是為了防止作業系統使用者沒有將 python 裝在預設的 /usr/bin 路徑裡。當系統看到這一行的時候,首先會到 env 設定裡查詢 python 的安裝路徑,再呼叫對應路徑下的直譯器程式完成操作。
如果沒寫#!/usr/bin/python,可以使用如下方法呼叫指令碼
[root@demo200 sqlw]# python test.py
hello python
如果使用上面的方法呼叫的指令碼裡面有#!/usr/bin/python,會被忽略掉,等同於注釋的效果
Unix Linux指令碼中 set e 的作用
有些指令碼中會看到這樣的語句 html view plain copy print?bin bash set e command 1 command 2 exit 0 bin bash set e command 1 command 2 exit 0 set e 這句語句告訴bash如果任何語句的執...
shell指令碼中的冒號作用
今天看到乙個shell指令碼,有幾行行 是這樣的 date date y m d h m s cp boot grub grub.conf boot grub grub.conf.bak.if egrep vmlinuz 2.6.32 220.23.1.lvs.el6.nohz off boot g...
Unix Linux指令碼中 set e 的作用
編寫shell指令碼沒多久,對於其許多命令的具體用法還不太熟悉。最近剛好有需求,就嘗試用指令碼去實現。其中就有用到set e選項。在用這個命令之前,也查過其功能,描述比較簡單 就是當命令以非零狀態退出時,則退出shell。主要作用是,當指令碼執行出現意料之外的情況時,立即退出,避免錯誤被忽略,導致最...