login as: pi
pi@192.168.2.107's password:
Linux raspberrypi 3.10.25+ #622 PREEMPT Fri Jan 3 18:41:00 GMT 2014 armv6l
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Fri Apr 18 00:08:35 2014 from 192.168.2.108
首先檢查預設是哪一種 shell :
pi@raspberrypi ~ $ echo $SHELL
/bin/bash
是 bash 沒錯, 但 list /bin/sh 卻顯示 dash, 而非 bash, why?
pi@raspberrypi ~ $ ls -la /bin/sh
lrwxrwxrwx 1 root root 4 Jan 1 1970 /bin/sh -> dash
檢查 bash 版本 :
pi@raspberrypi ~ $ echo $BASH_VERSION
4.2.37(1)-release
是 4.2.37 版.
pi@raspberrypi ~ $ pwd
/home/pi
檢查 Linux 更新來源 (在 /etc/apt/) :
pi@raspberrypi ~ $ ls -l /etc/apt
total 36
drwxr-xr-x 2 root root 4096 Apr 17 23:07 apt.conf.d
drwxr-xr-x 2 root root 4096 Mar 21 2013 preferences.d
-rw-r--r-- 1 root root 82 Sep 26 2013 sources.list
drwxr-xr-x 2 root root 4096 Jan 1 1970 sources.list.d
-rw------- 1 root root 1200 Sep 26 2013 trustdb.gpg
-rw------- 1 root root 4669 Sep 26 2013 trusted.gpg
-rw------- 1 root root 2424 Sep 26 2013 trusted.gpg~
drwxr-xr-x 2 root root 4096 Mar 21 2013 trusted.gpg.d
顯示 sources.list 內容為連線 Rasbian 官網更新 wheezy :
pi@raspberrypi ~ $ cat /etc/apt/sources.list
deb http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi
以下一邊做閱讀整理, 一邊實際操作 RPi 看看 :
Shell 是啥?
Shell=使用者與 Linux kernel 之間的溝通介面, 例如 DOS 是 Windows 的 shell, 但它只是命令直譯器 + 批次檔功能, 而 Linux shell 選擇性多, 且是一種程式語言, 是 Linux 系統管理程式語言的工具, 也是 Linux 作業系統的三個部份之一 :
- Kernel
- Shell
- 工具程式
- bash shell (Linux 套件多使用此)
- Korn shell (OpenBSD/NetBSD 採用)
- C shell (FreeBSD 採用)
# http://www.gnu.org/software/bash
Bash 有兩種工作模式 :
- 互動模式 (人工操作模式)
- Shell script 模式 (自動化模式)
列出 RPi 根目錄下的檔案 : ls /
pi@raspberrypi ~ $ ls /
bin dev home lost+found mnt proc run selinux sys usr
boot etc lib media opt root sbin srv tmp var
第一個 shell script :
照書中說明用 vi 或 nano 編輯一個最簡單的 shell script :
echo '哈囉!世界, hello world'
存成 hello.sh, 但不能直接執行 hello.sh, 因為它沒有執行權限, 會出現 command not found :
pi@raspberrypi ~ $ hello.sh
-bash: hello.sh: command not found
須用 chmod 改為可執行 :
pi@raspberrypi ~ $ chmod +x hello.sh
pi@raspberrypi ~ $ ls -l
total 44
drwxr-xr-x 2 pi pi 4096 Jan 1 1970 Desktop
drwxr-xr-x 3 pi pi 4096 Feb 13 19:50 Documents
-rwxr-xr-x 1 pi pi 34 Apr 18 22:49 hello.sh
輸入 hello.sh 還是 command not found, 因為必須在前面加上 ./ 表示 hello.sh 是在目前目錄下 :
pi@raspberrypi ~ $ ./hello.sh
哈囉!世界, hello world
原來 shell script 這麼簡單 ! (還沒遇到難的吧?)
沒有留言:
張貼留言