#!/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...