翼度科技»论坛 云主机 LINUX 查看内容

shell脚本while循环、read读取控制台输入与函数

5

主题

5

帖子

15

积分

新手上路

Rank: 1

积分
15

声明:
以下为个人笔记,内容不完全正确,请谨慎参考。
while循环

while循环结构
while [条件判断]
do
程序
done
脚本示例:
点击查看代码
  1. #!/bin/bash
  2. while [ $a -le $1]
  3. do
  4.         sum=$[ $sum + $a ]
  5. done
  6. echo $sum
复制代码
简易写法:
点击查看代码
  1. #!/bin/bash
  2. a=1
  3. while [ $a -le $1 ]
  4. do
  5.         let sum+=a
  6.         let a++
  7. done
  8. echo $sum
复制代码
read 读取控制台输入
基本语法:
read(选项)(参数)
1、选项
-p: 指定读取值时的字符;
-t: 指定读取值等待时间(秒->s)如果-t 不加表示一直等待。
2、参数
变量: 指定读取值的变量名
示例:
点击查看代码
  1. #!/bin/bash
  2. read -t -p "请在5s内输入您的相关个人信息,超时将退出。" AS
  3. echo $AS
复制代码
函数
先举一个小栗子:
点击查看代码
  1. #!/bin/bash
  2. filename="$1"_log$(datename +%s)
  3. echo $filename
复制代码
1.1 basename
基本语法
basename [string/patename] [suffix]
功能描述:basename命令会删掉所有的前缀包括最后一个('/')字符,然后将字符串显示出来。
basename可理解为去路径的文件名
选项:
suffix为后缀,如果suffix被指定了,basename会将pathname中的suffix去掉。
脚本示例:
点击查看代码
  1. #!/bin/bash
  2. echo '========== $n ==========='
  3. echo /home name: $(basename $0 .sh)
  4. echo /home/xiaohu name: $(cd
  5. $(dirname $0); pwd)
  6. echo op name: $1
  7. echo op name: $2
复制代码
自定义函数:
基本语法:
[function] funname[0]
{
ACTION
[return int;]
}
技巧:
1、必须在调用函数地方之前,先声明函数,shell脚本是否在逐步运行,不会像其他语言一样先编译。
2、函数返回值,只能同归$?变量获得,可以显示加: return返回。
如果不加,将以最后一条命令运行结果,作为返回值。renturn[0~255]
脚本示例:
点击查看代码
  1. #!/bin/bash
  2. function add(){
  3.                 s=$($1 + $2)
  4.                         echo $s
  5. }
  6. echo '=========== 调用参数 ============'
  7. read -p "请输入第一个整数:" a
  8. read -p "请输入第二个整数: " b
  9. echo '=============== 传参 ========='
  10. sum=$[add $a $b]
  11. echo "和:"$sum
  12. echo "和的平方:"$[$sum * $sum]
复制代码
来源:https://www.cnblogs.com/brxx/p/18147230
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具