shell bash學習02運算 拼接 重定向

2022-03-11 00:16:14 字數 2533 閱讀 9382

let操作

#!/bin/bash

no1=4;

no2=5;

let result=no1+no2

echo $result

let no1++ / ++no1;

let no1-- / --no1;

//let no+=6

let no-=6

操作
#!/bin/bash

no1=4;

no2=5;

result=$[no1+no2]

echo $result

result=$(( no1 + 50 ))
使用expr操作
result=`expr 3 + 4`

result=$(expr $no1 + 5)

注意,以上這些方法只能用於整數運算,而不支援浮點數;

使用bc

echo "4 * 0.56" | bc

2.24

//no=54;

result=`echo "$no * 1.5" | bc`

echo $result

81.0

echo "scale=2;3/8" | bc

0.37

#!/bin/bash

#十進位制轉二進展然後二進行轉十進位制;

no=100

echo "obase=2;$no" | bc

1100100

no=1100100

echo "obase=10;ibase=2;$no" | bc

100

echo "sqrt(100)" | bc #square root

echo "10^10" | bc #square

定義一般陣列
#這些值將會儲存在以0為起始索引的連續位置上

array_var=(1 2 3 4 5 6)

#將陣列定義成一組「索引-值」:

array_var[0]="test1"

array_var[1]="test2"

array_var[2]="test3"

定義關聯陣列
//宣告

declare -a ass_array

//新增

ass_array=([index1]=val1 [index2]=val2)

ass_array[index1]=val1

ass_array[index2]=val2

列印陣列
echo $

//index=5

echo $

//列印所有值

echo $

echo $

echo $

echo $

echo $

echo $

常用作用
cat file1 file2 file3 ...

//使用管道操作符: output_from_some commands | cat

echo 'text through stdin' | cat - file1 file2..

//保留空白輸出輸出

cat -n file

//過濾空白行輸出

cat -b file

檔案描述符

stdin: 0,stdout: 1,stderr: 2`
處理輸出文字
//將輸出文字重定向或儲存到乙個檔案中

echo "this is a sample text 1" > temp.txt

//將文字追加到目標檔案中

echo "this is sample text 2" >> temp.txt

輸出結果重定向
ls 1> out.txt 

ls + 2> out.txt

//將stderr轉換成stdout,使得stderr和stdout都被重定向到同乙個檔案中:

cmd 2>&1 output.txt

cmd &> output.txt

過濾輸出的stderr資訊;

使用tee:

cat a* | tee out.txt | cat -n
cat a* | tee -a out.txt | cat -n
使用stdin作為命令引數
//只需要將-作為命令的檔名引數即可

cmd1 | cmd2 | cmd -

shell bash 比較運算子

運算子 描述 示例 檔案比較運算子 e filename 如果 filename 存在,則為真 e var log syslog d filename 如果 filename 為目錄,則為真 d tmp mydir f filename 如果 filename 為常規檔案,則為真 f usr bin...

linux的shell(bash)指令碼學習

參考鏈結 shell 是乙個用c語言編寫的程式,它是使用者使用linux的橋梁。shell既是一種命令語言,又是一種程式語言。shell 是指一種應用程式,這個應用程式提供了乙個介面,使用者通過這個介面訪問作業系統核心的服務。shell 指令碼 shell script 是一種為shell編寫的指令...

Linux學習之八(shell bash)

一 umask 遮罩碼 檔案預設不能具有執行許可權,如果算得的結果中有執行許可權,則將其許可權加1 檔案 666 023 643 目錄 777 022 754 二 使用者登入的角度來說,shell的型別 登入式shell 正常通常某終端登入 su username su l username 非登入...