[kiosk@foundation60 echo]$ cat 01.sh
#!/bin/bash
name='tom'
age=20
height=180
weight=70
echo
-n "$ is $ years old,"
# -n:表示不換行
echo
-n "$cm in height "
echo
"and $kg in weight"
echo
"thank you!"
[kiosk@foundation60 echo]$ sh 01.sh
tom is 20 years old,180cm in height and 70kg in weight
thank you!
echo -e
與 特殊字串結合處理字串
echo -e 特殊字元
說明\a
發出警告聲
\b刪除前乙個字元
\c最後不加上換行符號
\f換行但游標仍舊停留在原來的位置
\n換行且游標移至行首
\r游標移至行首,但不換行
\t插入tab
\v與\f相同
\插入\字元
[kiosk@foundation60 echo]$ echo
-e "hello \nworld"
hello
world
[kiosk@foundation60 echo]$ cat 02.sh
#!/bin/bash
name='tom'
age=20
height=180
weight=70
# echo -e結合\c 強制echo命令不換行
echo
-e "$ is $ years old, \c"
echo
-e "$cm in height \c"
echo
"and $kg in weight"
echo
"thank you!"
[kiosk@foundation60 echo]$ sh 02.sh
tom is 20 years old, 180cm in height and 70kg in weight
thank you!
read的選項
用法-p
用於給出提示符
-n用於限定最多可以有多少字元可以作為有效讀入
-t用於表示等待輸入的時間,單位為秒
-s默讀(不顯示在顯示器上)
[kiosk@foundation60 read]$ cat 01.sh
#!/bin/bash
# read -p 顯示提示資訊 input("str:")
# 注意:必須在一行內輸入所有的值 不能換行
# 否則 只能給第乙個變數賦值 後續變數賦值都會失敗
read -p "enter some information >" name url age
echo
"**的名字:$name"
echo
"**:$url"
echo
"年齡:$age"
**的名字:zjy
年齡:88
[kiosk@foundation60 read]$ cat 02.sh
#!/bin/bash
# read -n num
# -n 1 表示只讀取乙個字元
read -n 1 -p "enter a char >" char
printf "\n"
echo
$char
[kiosk@foundation60 read]$ sh 02.sh
enter a char >y
y
-t表示計時器;-s:默讀(不顯示在顯示器上);&&左邊的命令返回真後,&&右邊的命令才能夠被執行。
[kiosk@foundation60 read]$ cat 03.sh
#!/bin/bash
if read -t 20 -
sp"enter password in 20 seconds(once) > " pass1 && echo
-e "\n" &&
read -t 20 -
sp"enter password in 20 seconds(again)> " pass2 && echo
-e "\n" &&
[$pass1 == $pass2
]#判斷兩次輸入的密碼是否相等
then
echo
"valid password"
else
echo
"invalid password"
fi[kiosk@foundation60 read]$ sh 03.sh
enter password in 20 seconds(once) >
enter password in 20 seconds(again)>
valid password
使用alias命令自定義別名的語法格式為:alias new_name='command'
[kiosk@foundation60 read]$ alias timestap='date +%s'
[kiosk@foundation60 read]$ timestap
1580478892
[kiosk@foundation60 alias]$ cat 01.sh
#!/bin/bash
alias timestamp='date +%s'
begin=`timestamp`
sleep 10s
finish=$(timestamp)
differince=$(
(finish -
begin))
echo
"run time: $"
[kiosk@foundation60 alias]$ sh 01.sh
run time: 10
06 shell 判斷分支處理
root rocky script cat bmi.sh bin bash read p 請輸入身高 m為單位 high if high 0 2 0 9 then echo 輸入錯誤的身高 exit 1fi read p 請輸入體重 kg為單位 weight if weight 0 9 then e...
Linux基礎06 Shell變數與vim
vim分為三種模式,一般模式,編輯模式,命令模式。vi 檔名,進入一般模式 可以刪除字元 刪除整行 也可以複製貼上資料,可以移動游標 在一般模式中,按下 i或a或o 進入編輯模式。編輯模式 這時候可以編輯文字。在一般模式中,按下 或 進入指令模式 在一般模式中,按下 wq 儲存後退出,按下 wq 強...
shell學習之 shell呼叫shell
2008 05 06 14 43 18 分類 linux 標籤 字型大小 大中小訂閱 fork是最普通的,就是直接在指令碼裡面用 directory script.sh來呼叫script.sh這個指令碼.執行的時候開乙個sub shell執行呼叫的指令碼,sub shell執行的時候,parent ...