Shell指令碼程式設計(三)

2021-08-19 10:01:02 字數 1172 閱讀 9407

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 存在且是乙個...