shell變數
3、預定義變數
shell程式設計內事先定義了一些變數,使用者只能使用這些變數而不能重新定義它們。所有的預定義變數都由$符號和另乙個符號構成,常用的預定義變數如下:
$#命令列引數的個數
$@所有命令列引數(不計$0,同$*)
$?前乙個命令的退出狀態
$* 所有命令列引數(不計$0,同$@)
$$正在執行的程序id號
示例:演示各個位置變數的值
#!/bin/bash
echo "this is #" $#
echo "this is @" $@
echo "this is ?" $?
echo "this is *" $*
echo "this is $" $$
執行:./myshell.sh 123 456 789
輸出:this is 0 ./myshell.sh
this is 1 123
this is # 3
this is @ 123 456 789
this is ? 0
this is * 123 456 789
this is $ 2710
4、環境變數
環境變數適用於所有使用者程序,環境變數均為大寫。常用的環境變數如下:
home 使用者工作目錄所在位址,在檔案/etc/passwd檔案內儲存
path shell搜尋路徑
histsize 儲存歷史記錄的條目數
logname 當前登入使用者名稱
hostname 主機名稱
shell 當前使用的shell型別
uid 登入使用者的id
user 顯示當前使用者名稱
seconds 記錄指令碼從開始執行到結束耗費的時間
示例:演示各個環境變數的值
#!/bin/bash
echo "home is " $home
echo "path is " $path
我們可以使用export命令來自定義環境變數,使用unset命令清除環境變數。例如:
export hello="hello"
echo $hello
Shell指令碼(三) Shell指令碼入門
1 指令碼格式 指令碼以 bin bash開頭 指定解析器 2 第乙個shell指令碼 helloworld 1 需求 建立乙個shell指令碼,輸出helloworld 2 案例實操 atguigu hadoop101 datas touch helloworld.sh atguigu hadoo...
Shell 指令碼程式設計
1 執行shell的方法 指定shell bin sh 由sh執行指令碼 指令碼總是由sh解釋 顯示呼叫shell sh scriptname 在當前shell中執行指令碼 profile profile是可執行的 ksh profile profile是不可執行的 改變當前的執行環境責應輸入.pr...
Shell 指令碼程式設計
a file 如果 file 存在則為真。b file 如果 file 存在且是乙個塊特殊檔案則為真。c file 如果 file 存在且是乙個字特殊檔案則為真。d file 如果 file 存在且是乙個目錄則為真。e file 如果 file 存在則為真。f file 如果 file 存在且是乙個...