SHELL脚本学习(一)

SHELL脚本学习(一)

0、数组变量

my_array=(1 2 3 4 5)
输出所有数据 echo ${my_array[*]}

1、第一行

shell脚本第一行:说明使用的是哪个shell
#!/usr/bin/bash

查看bash的路径:which bash

2、命令替换:

`` 和 $() 将命令的返回值复制给变量
dates=`date +%Y%m%d`
或者
dates=$(date +%Y%m%d)

输入
date1=`date +%Y%m%d`
echo today is $date1
输出:
today is 20240530

3、重定向输入和输出
3.1重定向输出
  1. 大于号“>”负责把命令的结果重定向到文件中
    command > file

ls -al > file_ls
cat file_ls
total 16
drwxrwxr-x 2 ubuntu ubuntu 4096 May 31 12:21 .
drwxr-xr-x 13 ubuntu ubuntu 4096 May 30 19:41 …
-rw-rw-r-- 1 ubuntu ubuntu 0 May 31 12:21 file_ls
-rwxrw-r-x 1 ubuntu ubuntu 177 May 31 11:47 test1
-rw-rw-r-- 1 ubuntu ubuntu 242 May 30 19:30 test6
如果不想覆盖文件的内容可以使用“>>

3.2重定向输入

1.小于号"<"负责将文件的内容重定向到命令
command < file

wc < file_ls
6 47 264

3.3内联输入重定向

command << EOF
data1
data2
data3
EOF

>wc << EOF
>line1 1 2 3
>line2 1 2 3
>EOF
2 8 24

4、管道

管道负责将一个命令的输入传送到另一个命令的输入
command1 | command2

>ls -al | wc
7 56 313

5、执行数学运算
5.1正数运算

要将数学运算赋值给变量,可以使用$和[];
$[operation]

输入:
var=$[5 + 10]
echo $var
输出
var=15

5.2浮点数运算

浮点数运算可以使用bc命令
variable=$(echo “options; operation”|bc)

输入:
var2=$(echo “scale=4; 8 / 5” | bc)
echo var2=$
输出:
var2=1.6000

bc支持内联重定向,当表达式比较长的时候可以写成这样:

var2=$(bc << EOF
scale=4
8/5
EOF
)
echo $var2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值