shell簡介php
在計算機科學中,Shell俗稱殼(用來區別於核)。而咱們常說的shell簡單理解就是一個命令行界面,它使得用戶能與操做系統的內核進行交互操做。html
常見的shell環境有:MS-DOS、Bourne Shell(/usr/bin/sh或/bin/sh)、Bourne Again Shell(/bin/bash)、C Shell(/usr/bin/csh)、K Shell(/usr/bin/ksh)、Shell for Root(/sbin/sh)等等。java
shell的腳本格式是固定的,以下:shell
1
2
3
|
#!/bin/sh
#comments
Your commands go here
|
第一行稱之爲shebang,符號#!告訴系統其後路徑所指定的程序便是解釋此腳本文件的Shell程序。編程
有兩種運行shell的方式:一種是將腳本做爲sh的命令行參數,另外一種是降腳本做爲具備執行權限的可執行文件。api
將shell做爲命令行參數時的運行方式以下:bash
1
|
sh script.sh
|
若是將腳本做爲sh的命令行參數來運行,那麼腳本中的shebang行也就沒什麼用處了。服務器
爲了是shell腳本可以本身獨立運行,須要具有可執行權限。要使腳本獨立運行必須利用shebang行。它經過使用位於#!以後的解釋器來運行腳本。至於腳本的可執行權限,能夠經過chmod命令來設置:app
1
|
chmod a+x script.sh
|
上面的chmod命令賦予全部用script.sh文件的可執行權限。那麼這個腳本就能夠做爲可執行程序運行:編輯器
1
|
./script.sh
|
php-cli簡介
用Shell編程能夠靈活地解決大量重複任務,十分方便。可是,Shell的語法十分怪異,不容易記,若是如今熟悉的語言能夠用來寫shell那就行了——好比php——就能夠快速開發Shell程序了。
因而php-cli就營運而生了,php-cli是php Command Line Interface的簡稱,如同它名字的意思,就是php在命令行運行的接口,區別於在Web服務器上運行的php環境(php-cgi, isapi等)。
也就是說,php不單能夠寫前臺網頁,它還能夠用來寫後臺的程序。固然是跟php如出一轍啦,由於它就是php嘛!只不過一些默認的參數與php-cgi不一樣,好比運行時間:php-cli默認運行時間是無窮,而網頁php默認設置是30s。
codeigniter cli模式
讓咱們試一試:Hello World!
首先建立一個簡單的控制器。使用你的文本編輯器,建立一個叫作 tools.php 的文件,而且輸入以下代碼:
1
2
3
4
5
6
7
8
9
|
<?php
class
Tools
extends
CI_Controller {
public
function
message(
$to
=
'World'
)
{
echo
"Hello {$to}!"
.PHP_EOL;
}
}
?>
|
而後將這個文件保存到你的 application/controllers/ 文件夾裏。如今正常狀況下你能夠經過你網站的 URL 來訪問它:
1
|
example.com/index.php/tools/message/to
|
除此以外,咱們也能夠在 Mac/Linux 中打開終端,或者在 Windows 下進入「運行」輸入「cmd」,並進入咱們的 CodeIgniter 項目的目錄。
1
2
|
$ cd /path/to/project;
$ php index.php tools message
|
若是你跟這這一步步下來,你應該會看到 Hello World!。
1
|
$ php index.php tools message
"John Smith"
|
這裏咱們像使用 URL 參數同樣給它傳遞了一個參數。「John Smith」做爲一個參數被傳遞了,而且輸出也變成:Hello John Smith!。