2023年第一次筆記 LINUX的shell入門

2021-08-14 22:51:31 字數 2134 閱讀 7249

#!/bin/sh 開頭路徑
#!/bin/sh

date

pwd

$#: 儲存程式命令數

$0: 當前程式名

$*: 以("$1 $2…")形式儲存所有輸入的命令列引數

$@: 以("$1" "$2"…)形式儲存所有輸入的命令列引數

$n:$n為命令列的第n個引數

例子:

echo "the no. of parameter is $#"; 

echo "the script name is $0";

echo "the parameters in the script are $*";

echo "the parameters in the script are $3";

注意:

1. 引數中間一定要有空格

2. shell引數和c語言引數的乙個區別是shell不把檔名作為引數,而c語言引數把檔名當作第乙個引數

shell環境變數時所有shell程式都會接受的引數。shell程式執行時,都會接收一組變數,這組變數就是環境變數,常用的shell變數有:

path:shell尋找程式或命令的目錄

home:當前使用者主目錄的完全路徑

histsize:歷史記錄數

logname:當前使用者的登陸名

hostname:主機名稱

shell:shell路徑名

mail:當前使用者的郵件存放目錄

pwd:當前工作目錄的絕對路徑

顯示變數 #echo $home

設定變數 #expert welcome = "he" //只改變當前的環境變數

檢視所有變數 #env

檢視本地變數 #set

刪除變數 #unset

查詢變數 #env|grep welcome //管道的使用 或者 #set|grep welcome

$

分為左截斷和右截斷

* 任意n個字元 ? 任意乙個字元
//左截斷的例子 

$ //##最長匹配

$ //#最短匹配

//右截斷的例子

$ myvar="chickensoup.tar.gz"

$ echo

$ //最長截斷

chickensoup

$ echo

$ //最短截斷

chickensoup.tar

if [-e ./test.sh]  //這裡條件的寫法其實更難!!!

then

echo

"..........."

else

echo

",,,,,,,,,,,"

fi

#!/bin/sh

test=test.tar.gz

case

"$"in

gz) tar -xzvf $test ;;

bz2)

tar -xjvf $test ;;

*) echo

"formar error" ;;

esac

#!/bin/sh

mynum=0

while [ $mynum

-ne10 ]

doecho

$mynum

mynum=$(($mynum + 1))

done

#!/bin/sh

for x in12

3doecho

$xdone

#!/bin/sh

for x in ./t*

doecho

$xdone

第一次筆記

引用資料在記憶體中儲存的資料 a 100 a 是指向100的乙個引用 print id a 互動模式和直接引用的區別直接引用 a 367b 367print id a 2429337035888 每次執行結果會變 print id b 2429337035888 每次執行結果會變 print a i...

2023年軟工實踐 第一次作業 迷茫

對於乙個躺著連翻面都懶得人,強烈控訴這種開學前就布置作業的行為。當然如果有再來一次的機會,我還是會屈服於這門課的淫威之下。1 回想一下你初入大學時對計算機專業的暢想 2 即將大三的你,對照前人們走的路和描述未來發展,現在的你 3 大三是乙個人生選擇的十字路口,考研 工作 考公 出國,不同的選擇在大三...

第一次python筆記

1.注意raw input在python3.0中已經消失了 2.python3.0中的字串全部是unicode字串 3.關於原始字串的幾行 str c nnihao str c nnihao print str c nihao print r c nnihao c nnihao r r c nnih...