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"
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!