shell 琐碎

141 阅读1分钟

文件的第一行必须是

#!/bin/bash

参数

  • $PWD 执行命令的文件路径
  • $0 当前程序的名称
  • $n 程序输入参数 $1 就表示输入的第一个参数
  • $* 所有的输入参数
  • $# 输入参数的个数
  • $? 命令执行状态,一般返回0代表成功,表示的是上一个的命令是否成功

循环

# for 循环(这种写法要是双括号)
for (( i = 0; i < 10; i++ )); do
	#statements
done

# forin 写法 这种可能更加常用点
for i in words; do
	#statements
done

# while普通的
while ((condition)) ; do
	#statements
done

# 此while写法中,可以使用命令
while [ condition ]; do
	#statements
done

比如
i=0
while [ $i -lt 100 ]; do
	echo "数字 $i"
	i=`expr $i + 1`
done

条件判断

Shell 基本运算符 www.runoob.com/linux/linux…

num1=300
num2=400

if((num1>num2));then
	echo "num1>num2"
else((num1<num2))
	echo "num1<num2"
fi

# 和while 类似也有 [ condition ] 的写法
if [ condition ]; then
	#statements
else #statements
fi

函数

函数的定义

1、可以带function fun() 定义,也可以直接fun() 定义,不带任何参数。 2、参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值。 return后跟数值n(0-255) return 后的数值是表示的是此命令的执行结果,只是此命令出错的时候使用

函数传参数

在函数体内部,通过 $n 的形式来获取参数的值,例如,$1表示第一个参数,$2表示第二个参数...

等待输入

#!/bin/bash

fun() {
	read -p "请输入数值" num
	echo $[2*$num]
}

result=`fun`
echo "结果是=$result"

算数运算方式

  • $(())
r=$((4 + 5))
echo $r
  • $[]
r=$[4+5]
echo $r
  • let命令
i=1
let i=i+1
echo $i
  • 使用 expr 外部程式
r=`expr 4 + 5`
echo $r