shell脚本基础

基础命令示例

复制代码
#!/bin/bash 固定格式
echo "input str" 输出字符串到屏幕
read 变量名 读取键盘输入
test $first == $second && echo "dengyv" || echo "notdeng" 判断字符串是否相等
echo "file name" $0 。脚本名称
echo "total param num" $# 。参数个数
echo "whole param" $@ 。输出所有参数
echo "first param" $1 。输出第一个参数
total=$($first+$second)。赋值语句,注意赋值语句等号两边不能有空格,否则会出错
使用 readonly 命令可以将变量定义为只读变量,只读变量的值不能被改变。
#例
myUrl="https://www.google.com"
readonly myUrl [
"$varname" == "hello" ] 。判断字符串是否相等,注意[ ] 内部要用空格和代码隔开,$varname要加双引号
复制代码

 变量

复制代码
单引号
 str='this is a string'
单引号字符串的限制:
 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;
 单引号字串中不能出现单独一个的单引号(对单引号使用转义符后也不行),但可成对出现, 
 作为字符串拼接使用

双引号
 实例
your_name="runoob"
str="Hello, I know you are \"$your_name\"! \n"
 echo -e $str
输出结果为:
Hello, I know you are "runoob"! 
双引号的优点:
双引号里可以有变量
双引号里可以出现转义字符
拼接字符串
实例
your_name="runoob"
# 使用双引号拼接
greeting="hello, "$your_name" !"
greeting_1="hello, ${your_name} !"
echo $greeting  $greeting_1

# 使用单引号拼接
greeting_2='hello, '$your_name' !'
greeting_3='hello, ${your_name} !'
echo $greeting_2  $greeting_3
输出结果为:

hello, runoob ! hello, runoob !
hello, runoob ! hello, ${your_name} !
复制代码

 

 

shell判断语句

复制代码
read -p "y/n?:" value
if [ "$value" == "Y" ] || [ "$value" == "y" ]; then
echo "your input is Y"
exit 0
fi
if [ "$value" == "N" ] || [ "$value" == "n" ]; then
echo "your input is Y"
exit 0
else
echo "not illegal"
fi

#case语句
case $1 in
"a")
echo "a"
;;
"b")
echo "b"
;;
*)
echo "other"
;;
esac
复制代码

 

shell脚本函数示例

#!/bin/bash
print() { echo
"param 1:$1" echo "param 2:$2" } print a b #调用print函数,并传入a,b两个参数

while循环

while [ "$value" != "close" ]
do
        read -p "your input" str 
        echo "ok"
done

echo "while over"

 

posted @   ddup123  阅读(11)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示