Shell 是面向過程的
(bash爲例)
變量是進程的變量,進程結束,變量消失。
bash變量類型:
環境變量
本地變量(局部變量):
位置變量
特殊變量
本地變量: set VARNAME=VALUE
作用域爲整個bash進程
局部變量:
local VARNAME=VALUE 作用域爲當前代碼段
環境變量:作用域爲當前shell進程及其子進程
export VARNAME=VALUE
or:
VARNAME=VALUE
export VARNAME
位置變量:
$1
特殊變量:
$? 保存上一個命令執行狀態返回值
程序執行,可能有兩種返回值:
狀態返回代碼:(0~255)
0:正確執行
1-255:各種錯誤執行 ,1, 2 , 127系統預留
echo $? 看看結果
-------------------------------------------
/dev/null : 軟件設備,數據黑洞
-------------------------------------------
撤銷變量
unset VARNAME
($VARNAME 表示操作值, 不加$表示操作變量)
查看當前shell的變量
set (包括環境變量和本地變量)
查看當前shell中的環境變量:
printenv
env
export
修改變量
GA=aaa
修改:GA=$GA:aa:ss用冒號分隔
變量不做算數運算(默認爲字符串保存)
A=3
B=3
C=$A+$B
echo $C // 3+3
linux 只是別ELF的執行文件
腳本文件第一行
shebang: 魔數(根據這個選擇shell執行)
#!/bin/bash
如果腳本不能執行:
1. 權限
2. 環境變量(如果不加環境變量,可寫絕對路徑)
3. 或者直接使用解釋器(bash)執行 bash f.sh, 如果想讓其獨立執行,則必須有執行權限。