shell语言——运算符和控制语句

1、运算符

expr命令或者$[],$(()):

expr 5+2
expr 5 \* 2
echo $[5*2]
echo $((5+2))
touch add.sh
vim add.sh
#在add.sh文件中编辑以下内容
#!/bin/bash
sum=$[$1 + $2]
echo sum=$sum
#在命令行中执行
chmod +x add.sh
./add.sh 12 23

2、条件判断式

与其他编程逻辑值相反(1假0真)

逻辑与和逻辑或与C语言相同(&&、||)

a=hello
#测试a的值是否为hello
test $a = hello
#输出测试值,正确为0,错误为1
echo $?

#第二种
[ $a = hello ]
echo $?

 例子:

[ 2 -lt 8 ]
[ -r hello.sh ]
[ -w hello.sh ]
[ -x hello.sh ]
[ -e hello.sh ]
[ -f hello.sh ]
[ -d hello.sh ]

3、TNC连接不上的调试方法

#退出base环境
conda deactivate 
#开启vnc服务端口
vncserver :3

4、选择结构

if [ $a -gt 18 ] && [ $a -lt 35 ]; then echo OK; fi

echo $a 

a=35

a=36

 ​​​​​​​

5、循环结构

for循环

 eg:累和运算

#创建vim文件,并添加执行操作
vim sum_to.sh
chmod +x sum_to.sh
#编辑vim文件,输入累和代码
#!/bin/bash
for (( i=1 ; i <= $1 ; i++ ;  ))
do
    sum=$[$sum+$i]
done
echo $sum
#传入sum参数,执行文件代码
./sum_to.sh 100
./sum_to.sh 10

{}表示生成序列,增强for循环案例:

for os in linux windows macos; do echo $os; done

for i in {1..100}; do $[ $sum + $i ]; done; echo $sum

 $*把所有参数看成一个整理,$@则区分每个参数($*把所有参数看成一个整体,则输出一行,$@怎把每一个参数看成个体,输出多行

echo '-----------$*------------'
for para in '$*'
do 
   echo $para
done
echo '-----------$@------------'
for para in '$@'
do 
   echo $para
done

 while循环

while [ $a -le $1 ]
do
   sum=$[ $sum + $a ]
   a=$[ $a + 1 ]
done
echo $sum

 6、读取控制台输入

​​​​​​​

 

#!/bin/bash
read -t 10 -p "请输入您的变量:" n
echo "这是:$n"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一瞬にして失う

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值