随笔分类 -  Bash

摘要:冒泡排序是非常基础的排序算法,本文我们看看在 Bash 脚本中如何写冒泡排序。本文的演示环境为 ubuntu 16.04。 冒泡排序的简要描述如下: 通过连续的比较对数组中的元素进行排序 比较两个相邻的元素,如果顺序不对,就交换这两个元素的位置 当第一轮比较结束之后,最 "重" 的元素就会被移动到最 阅读全文
posted @ 2019-02-01 13:20 sparkdev 阅读(6425) 评论(1) 推荐(2) 编辑
摘要:本文介绍如何使用 sudo 将输出重定向到当前用户没有权限的文件。注意:本文中 demo 的演示环境为 ubuntu 18.04。 Permission denied 问题 如果当前用户没有某个文件的写权限,又要通过输出重定向往该文件中写入内容。结果只能是 "Permission denied"。比 阅读全文
posted @ 2019-01-21 13:23 sparkdev 阅读(5122) 评论(0) 推荐(2) 编辑
摘要:标准输入/输出(standard I/O)可能是软件设计原则里最重要的概念了。这个概念就是:程序应该有数据的来源端、数据的目的端(输出结果的地方)已经报告问题的地方,它们分别被称为标准输入(standard input)、标准输出(standard output)以及标准错误输出(standard 阅读全文
posted @ 2019-01-10 08:59 sparkdev 阅读(12147) 评论(2) 推荐(6) 编辑
摘要:连接字符串 字符串连接的方式简单又直接:放在一起就可以了!看下面的例子: 结果为:hello world 获取字符串长度 ${#string} 注意这会自动去掉字符串结尾处的空格,如果在字符串中包含空格(开头、中间或结尾),就需要使用引号把字符串包裹起来: 匹配字符串开头的子串长度 expr mat 阅读全文
posted @ 2018-11-23 13:20 sparkdev 阅读(11092) 评论(0) 推荐(1) 编辑
摘要:目录 $0$1, $2 等等$#$* 与 "$*"$@ 与 "$@"$!$_$$$PPID$?$BASH$BASH_VERSION$EUID 与 $UID$GROUPS$HOME$HOSTNAME$IFS$PATH$OLDPWD$PWD$PS1$PS2$PS4 $0 执行 Bash 脚本时,Bash 阅读全文
posted @ 2018-11-10 09:29 sparkdev 阅读(8064) 评论(0) 推荐(2) 编辑
摘要:在 shell(Bash 是一种 shell) 中执行外部程序和脚本时,Linux 内核会启动一个新的进程,以便在新的进程中执行指定的程序或脚本。内核知道该如何为编译型的程序做这件事,但是对于脚本程序呢?当 shell 要求内核执行一个脚本文件时,内核是不知道该怎么办的!所以它回应一个 "not e 阅读全文
posted @ 2018-10-25 13:00 sparkdev 阅读(4452) 评论(0) 推荐(0) 编辑
摘要:在 Bash 脚本中我们一般会使用 test 命令来进行条件检查。test 命令的返回值为 0 或 1。0 表示 true, 1 表示 false。简单起见,我们可以直接认为 test 的结果为 true 或 false。 还可以使用中括号代替 test,需要注意的是括号和表达式之间一定要留有空格, 阅读全文
posted @ 2017-10-16 08:41 sparkdev 阅读(23019) 评论(3) 推荐(8) 编辑
摘要:Bash 提供了两种类型的数组,分别是索引数组(indexed array)和关联数组(associative array)。本文主要介绍索引数组的基本用法。 索引数组的基本特点 Bash 提供的数组都是一维数组。任何变量都可以用作索引数组。通过 declare 关键字可以显式的声明一个索引数组。数 阅读全文
posted @ 2017-07-15 10:07 sparkdev 阅读(16324) 评论(13) 推荐(15) 编辑

点击右上角即可分享
微信分享提示