(2 8)shell中各種奇怪的符號

2021-10-03 00:00:26 字數 1472 閱讀 9674

#!/usr/bin/bash

read -p "please input number: " num

## num3=123yy

## [[ ! 「$num3」 =~ ^[0-9]+$ ]];echo $? 表示:num3變數是否匹配後面的正則模式,表示:如果不是數字,就echo

## 1

while true

do if

[[ 「$num」 =~^

[0-9

]+$ ]

];then ###後面是正則比較,不要加「」,,~表示匹配。如果是數字,則break

break

else

read -p "nonumber,please input number: " num

fidone

read -p "please input prefix: " prefix

while true

do if

[-z "$prefix"

];then ##字串長度

echo "error prefix"

exit

else

read -p "please input prefix:" prefix

fidone

(

) 在子shell執行((

)) c 風格的數值比較,((1

<2)

)$(1+

2) 和`1

+2`一樣,叫命令替換:先執行裡面的命令,eg:touch $(date +

%f)_file.txt$((

1+2)

) 整數運算

表示集合,eg:touch

$ 表示變數

條件測試:檔案,整數,數值,字串比較 [[

]] 功能包含[

]的功能,還支援正則比較:[[=

~]],~表示正則匹配

eg:[

-d /home -a -f /home/files ]

;echo $? 等價於[[

-d /home &

&-f /home/files ]

];echo $? $[2

**10

] 整數運算,2的10次方

.

/1.sh 重要的執行許可權 在子shell中執行

bash 1.sh 不需要執行許可權 在子shell中執行

.1.sh 不需要執行許可權,在當前shell中執行

source 1.sh 不需要執行許可權 在當前shell中執行

注意:通常修改系統配置檔案如:/etc/profile的path等變數後,使之在當前shell中生效

sh -n 1.sh	僅除錯syntax error

sh -vx 1.sh 以除錯的方式進行,查詢整個執行過程

shell中各種奇怪的符號整理

子shell中執行 數值比較,運算,支援正則 i 1 i 3 i commond1 commond2 命令替換 commond 支援運算 1 2 集合,可將命令與字串隔開 變數的引用 檔案測試,數值比較,檔案比較,字串比較 a 且,o 或 增加了對正則的支援,包含,或,且 支援變數運算 2 2 2 ...

整理的shell指令碼中的各種符號的意義

此符號後面的是註解文字,不會被執行,如果是在括號裡或者 後面,則變成一般符號 代表使用者的home目錄cd 分號,在同一行寫入多行指令 連續分號,case指令碼專用,代表一則命令終結 單引號,所見即所得,直接顯示單引號內容,防止萬用字元擴充套件和變數擴充套件 雙引號,執行變數解析後,再輸出 反引號,...

python中的各種符號

在這裡所作的是將所有的 python 符號和關鍵字列出來,這些都是值得掌握的重點。關鍵字 and del from not while as elif global or with assert else if pass yield break except import print class e...