文章目录

  • 一、read读取控制台输入
    • 1.基本语法
    • 2.示例演示
  • 二、系统函数
    • 1.basename
    • 2.dirname
  • 三、自定义函数
    • 1.基本语法
    • 2.经验技巧
    • 3.示例演示

一、read读取控制台输入

1.基本语法

read+选项+参数
选项
-p:指定读取值时的提示符;
-t:指定读取值时等待的时间(秒)。
参数:
变量:指定读取值的变量名

2.示例演示

#!/bin/bashread -t 5 -p "请在5秒内输入一个整数" digit
echo $digit

运行结果:

二、系统函数

1.basename

(1)基本语法
basename [string / pathname] [suffix]
功能描述:basename命令会删掉所有的前缀包括最后一个(‘/’)字符,然后将字符串显示出来。
选项
suffix为后缀,如果suffix被指定了,basename会将pathname或string中的suffix去掉。
(2)示例演示

2.dirname

(1)基本语法
dirname 文件绝对路径
功能描述:从给定的包含绝对路径的文件名中去除文件名(非目录的部分),然后返回剩下的路径(目录的部分))
(2)示例演示

三、自定义函数

1.基本语法

function funname()
{
Action;
[return int;]
}
funname

2.经验技巧

(1)必须在调用函数地方之前,先声明函数,shell脚本是逐行运行。不会像其它语言一样先编译。
(2)函数返回值,只能通过$?系统变量获得,可以显示加:return返回,如果不加,将以最后一条命令运行结果,作为返回值。return后跟数值n(0-255)

3.示例演示

举例写一个求斐波那契数列中第n个值

#!/bin/bashfunction fib()
{a=1b=1if [ $digit -lt 2 ]thenreturn 1elsefor((i = $digit; i > 2; i--))doc=$[$a+$b]a=$bb=$cdonereturn $cfi
}read -p "请输入一个正整数" digitfibecho "第$digit个斐波那契数列值是$?"

运行结果:

Shell——read读取控制台输入和函数相关推荐

  1. Java基础:如何读取控制台输入?如何读取字符?

    今天,运用字节流读取控制台输入在技术上仍是可行的,但这样做需要用到不被赞成的方法,这种做法不值得推荐.Java 2中读取控制台输入的首选方法是字符流,它使程序容易符合国际标准并且易于维护. 注意:Ja ...

  2. java控制台next_java读取控制台输入以及next() ,nextLine(), nextInt() 和nextDouble()的比较...

    (1)读取控制台输入 java的控制台输入由System.in完成. 为了得到一个绑定到控制台的字符流,你能够把System.in包装在一个BufferedReader对象中建立一个字符流.html ...

  3. 如何在Dart中读取控制台输入/ stdin?

    如何在Dart中读取控制台输入/ stdin? import 'dart:io';void main(){stdout.write("请输入: ");var name = stdi ...

  4. java 输入人名_Java 读取控制台输入

    Java 提供了我们两种读取控制台输入的方法: 一.传统方法 public class ReadConsoleOld { public static void main(String[] args) ...

  5. 编写shell脚步--读取键盘输入

    文章目录 一.read--从标准输入读取输入值 1.1.选项 1.2.使用IFS间隔输入字段 二.验证输入 三.菜单 一.read–从标准输入读取输入值 内嵌命令read的作用是读取一行标准输入.此命 ...

  6. java读取控制台输入_如何使用Java中的Scaner类从控制台读取输入?

    侃侃尔雅 从控制台读取数据BufferedReader是同步的,因此可以安全地从多个线程对BufferedReader进行读取操作.可以指定缓冲区大小,也可以指定默认大小(8192)可以使用.对于大多 ...

  7. Java中读取控制台输入

    在java1.4中 BufferedReader br = null;                 try{             br = new BufferedReader(new Inp ...

  8. Linux Shell 读取用户输入

    在Linux Shell下读取用户输入可以使用read命令. 用法: echo "Input something:" read input echo "Your inpu ...

  9. Linux之Shell脚本的条件判断和函数

    一.条件判断 1.if判断 (1)基本语法 if [ 条件判断式 ] then程序 fi 注意事项: 1.[ 条件判断式 ]中括号和条件判断式之间必须有空格 2.if后要有空格 (2)实操 输入一个数 ...

最新文章

  1. startuml如何画流程图_因为流程图没画好SCI被拒稿!看完师姐的攻略后我被吊打了!...
  2. yarn资源参数配置
  3. 启动64位 IIS 32位应用程序的支持
  4. 插件化框架DL源码的简单解析
  5. 全国计算机等级考试题库二级C操作题100套(第97套)
  6. 设计模式系列 - 原型模式
  7. java resultset转json_ResultSet到JSON的最有效转换?
  8. 将计算机重命名出现错误,该文件已经存在的解决办法
  9. P2617 Dynamic Rankings(主席树+树状数组)
  10. 甘肃陇西雪后现雾凇 田野树林披“银装”
  11. 解析Redis操作五大数据类型常用命令
  12. 编译内核出错:invalid option `abi=aapcs-linux'
  13. groovy入门(2-1)Groovy的Maven插件安装:Plugin execution not covered by lifecycle configuration...
  14. Javascript:利用闭包实现高级排他
  15. zec挖矿(zcash挖矿)鱼池跟蚂蚁矿池的比较到底哪个好?哪个收益高? (二)
  16. 偏微分方程数值解联系 - 向前差分法 - 一维热传导
  17. html类似京东侧边栏,JS实现京东商品分类侧边栏
  18. 交换机入门小知识2(MAC地址、交换机如何处理数据帧)
  19. LeetCode 810 Chalkboard XOR Game【思维】
  20. 多线程爬取NCBI数据库文献

热门文章

  1. 设计模式-单件模式(Singleton pattern)
  2. aspx页面在运行的时候会自动产生当前页面类的一个子类。
  3. [Python图像处理] 二十八.OpenCV快速实现人脸检测及视频中的人脸
  4. 96. Unique Binary Search Trees 不同的二叉搜索树
  5. 13.2.2 路由层——URL控制器
  6. The directory '*' or its parent directory is not owned by the current user
  7. 阿里云服务器上安装java配置jdk
  8. 2011年第二届蓝桥杯决赛 —— C语言本科 —— 第一题
  9. 《算法竞赛入门经典》—— 5.2.6 栈、队列与优先队列
  10. python人工智能——机器学习——分类算法-k近邻算法——kaggle案例: Facebook V: Predicting Check Ins