Linux下的bash
2016-05-12 09:38
357 查看
範例一:設定一變數 name ,且內容為 VBird [dmtsai@study ~]$ 12name=VBird bash: 12name=VBird: command not found... <==螢幕會顯示錯誤!因為不能以數字開頭! [dmtsai@study ~]$ name = VBird <==還是錯誤!因為有空白! [dmtsai@study ~]$ name=VBird <==OK 的啦! 範例二:承上題,若變數內容為 VBird's name 呢,就是變數內容含有特殊符號時: [dmtsai@study ~]$ name=VBird's name # 單引號與雙引號必須要成對,在上面的設定中僅有一個單引號,因此當你按下 enter 後, # 你還可以繼續輸入變數內容。這與我們所需要的功能不同,失敗啦! # 記得,失敗後要復原請按下 [ctrl]-c 結束! [dmtsai@study ~]$ name="VBird's name" <==OK 的啦! # 指令是由左邊向右找→,先遇到的引號先有用,因此如上所示, 單引號變成一般字元! [dmtsai@study ~]$ name='VBird's name' <==失敗的啦! # 因為前兩個單引號已成對,後面就多了一個不成對的單引號了!因此也就失敗了! [dmtsai@study ~]$ name=VBird\'s\ name <==OK 的啦! # 利用反斜線 (\) 跳脫特殊字元,例如單引號與空白鍵,這也是 OK 的啦! 範例三:我要在 PATH 這個變數當中『累加』:/home/dmtsai/bin 這個目錄 [dmtsai@study ~]$ PATH=$PATH:/home/dmtsai/bin [dmtsai@study ~]$ PATH="$PATH":/home/dmtsai/bin [dmtsai@study ~]$ PATH=${PATH}:/home/dmtsai/bin # 上面這三種格式在 PATH 裡頭的設定都是 OK 的!但是底下的例子就不見得囉! 範例四:承範例三,我要將 name 的內容多出 "yes" 呢? [dmtsai@study ~]$ name=$nameyes # 知道了吧?如果沒有雙引號,那麼變數成了啥?name 的內容是 $nameyes 這個變數! # 呵呵!我們可沒有設定過 nameyes 這個變數吶!所以,應該是底下這樣才對! [dmtsai@study ~]$ name="$name"yes [dmtsai@study ~]$ name=${name}yes <==以此例較佳! 範例五:如何讓我剛剛設定的 name=VBird 可以用在下個 shell 的程序? [dmtsai@study ~]$ name=VBird [dmtsai@study ~]$ bash <==進入到所謂的子程序 [dmtsai@study ~]$ echo $name <==子程序:再次的 echo 一下; <==嘿嘿!並沒有剛剛設定的內容喔! [dmtsai@study ~]$ exit <==子程序:離開這個子程序 [dmtsai@study ~]$ export name [dmtsai@study ~]$ bash <==進入到所謂的子程序 [dmtsai@study ~]$ echo $name <==子程序:在此執行! VBird <==看吧!出現設定值了! [dmtsai@study ~]$ exit <==子程序:離開這個子程序 什麼是『子程序』呢?就是說,在我目前這個 shell 的情況下,去啟用另一個新的 shell ,新的那個 shell 就是子程序啦!在一般的狀態下,父程序的自訂變數是無法在子程序內使用的。但是透過 export 將變數變成環境變數後,就能夠在子程序底下應用了 [code]範例六:如何進入到您目前核心的模組目錄? [dmtsai@study ~]$ cd /lib/modules/`uname -r`/kernel [dmtsai@study ~]$ cd /lib/modules/$(uname -r)/kernel # 以此例較佳!範例七:取消剛剛設定的 name 這個變數內容 [dmtsai@study ~]$ unset name
[/code]
相关文章推荐
- hdu_2446_Shell Pyramid(数学,二分)
- hdu_2446_Shell Pyramid(数学,二分)
- linux set profile bashrc source 非交互/交互式用户登录 for循环
- Java实现-高效排序算法之Shell排序
- [shell] file
- shell脚本部署无密码访问
- shell脚本
- spark-shell启动报错:./spark-shell: line 44: 5271 已杀死
- shell脚本替换文件中字符
- shell脚本学习笔记(1)
- linux shell ; || &&的区别
- 关于xshell 被avast防火墙拦截!解决方法!
- windows 64 位安装xshell5出现的一系列问题
- 初学shell(必须掌握的20条指令)
- paramiko exec_command 返回 shell 脚本 exit 值
- bash sh 用法区别
- HDU2149(巴什博弈Bash Game)
- shell 脚本传入参数
- 用shell批量修改类似的文件名
- Shell 简易教程