expr
語法:expr 數字1 符號 數字2
expr可以讓整數進行加減乘除和取餘
expr 1 + 2
編寫乙個指令碼計算兩門的成績總和
#!/bin/bash
read -p "請輸入您的第一門成績:" number1
read -p "請輸入您的第二門成績:" number2
echo -n "總成績是:"
$(())有運算能力,可以進行加減乘除和取餘的運算,它的語法是:
$((整數1 符號 整數2
))
echo
$((1+2
))
3
$
語法:$[整數1 符號 整數二]
echo $[2 + 3]
5
let
let關鍵字做變數運算,
let sum=2+3;
echo
$sum
5
let可以做自增操作
let i++;
echo
$i
此時的i++就相當於i=i+1
安裝乙個小數運算的工具
yum install -y bc
將數字輸出在螢幕中並用管道交給bc運算,最後得出結果
echo
"2 + 4"
|bc
6
bc是乙個互動運算器,支援浮點運算。
scale=3表示小數點後保留三位小數
echo
"scale=3;6/4"
|bc
1.500
也可以使用bc命令進行計算
自定義變數是只在當前的shell有效,如果要想別人用的話,需要加入環境變數確保其他人也可以用
export back_dir2=/home/backup# 宣告環境變數
export back_dir1# 將自定義變數轉換成環境變數
想讓變數在當前使用者登入後一直的生效,可以將變數放在~/.bash_profile
vi ~/.bash_profile
如果想讓變數,在所有使用者登陸後一直生效,可以講變數放置在/etc/profile中
vi /etc/profile
比如系統中也有一些環境變數
echo
$user
檢視系統的環境變數
env
位置變數的語法:命令 引數1 引數2 引數3..........9以後特殊定義
# 表示指令碼的名稱
$*# 所有的引數
$# # 引數的個數
$?# 作為上乙個程式的返回值(0代表的是成功,非0代表的是失敗)
$$ # 程式的pid
$?
# 作為上乙個程式的返回值(0代表的是成功,非0代表的是失敗)
$$# 程式的pid
現在使用的是遠端登入centos7,所以應該是pts
程序是有關係的可以使用pstree
(程序樹)進行檢視
安裝程式
總結:
位置變數就是$1 $2 $3
位置變數是預先定義過了的
使用者使用時,必須要攜帶引數
位置變數不止程式設定的唯一方法,比如read也是可以的
練習
編寫乙個自動建立使用者並配置密碼的指令碼檔案
vi useradd.sh
#!/bin/bash
read -p "請輸入使用者名稱" user
read -p "請輸入使用者的密碼" password
useradd
$user
echo
"$password"
|passwd --stdin $user
&> /dev/null
echo
"$user已經建立,$user的密碼是$password"
Shell筆記第三天
2.3shell中的變數 系統變數 環境變數 使用者自定義的變數 本地變數或者shell變數 系統變數是linux shell bash 建立和維護的變數 系統變數 及含意 都是大寫 bash we version display 設定x display 名字 editor 設定預設的文字編輯器 h...
第三天,努力!!
第三天了,不錯不錯,基本上按自己的計畫進行著,雖然工作還是沒找到,不過也不再那麼的怕了,慢慢來吧,其實也沒太多時間了 今天早上十點才,真的覺得自己太不像話了,不過我一覺醒來就那個時候了,我的手機每天的鬧鐘是7 30不過好像從來聽不見它響,哈哈 明天希望能早點起,明天北京工體有乙個大型的招聘會,可以去...
杭州第三天
一樣的時間起床,一樣的時間去吃早飯,坐在一樣的位置享受完幾乎一樣的陽光和一根煙以後,我開始了在杭州ut的又一天工作。上午按照計畫重新安裝oracle資料庫,由於一邊安裝一邊給旁邊的兩個同事作簡單的解釋,所以到了在中午吃飯以前只是安裝完了軟體部分。ut的食堂有兩層,每個月的餐費都是直接打入員工卡中,所...