使用shell生成随机数
2024-09-04 15:15:05
#!/bin/bash
for i in `seq $`
do
for j in `seq $`
do
s=$(($RANDOM%))
echo -e "$i,$j\t$s" >>M_$1_$
done
done
第1行:#!/bin/bash是指此脚本使用/bin/bash来解释执行。其中,#!是一个特殊的表示符,其后,跟着解释此脚本的shell路径。bash只是shell的一种,还有很多其它shell,如:sh,csh,ksh,tcsh,...
第2行:$1表示从命令行中读取的第一个参数,在linux中$表示取得某个变量的值。seq 是Linux 中一个预设的外部命令,一般用作一堆数字的简化写法。seq 1 $1 表示1到$1的所有数字(两端都包括),由于seq是一个系统命令,在shell编程中,如果使用了系统命令就要使用`(esc下面的符号,不是单引号)(seq就是系统命令)。
第6行:RANDOM是Linux的系统随机变量,是一个5位的随机数。
第7行:$1(第1个参数)、$2(第2个参数)就是从命令行中读取到的参数。echo就是打印信息到目标设备的。
echo:默认打印设备是显示器,echo "hello"就是打印信息到显示器。echo "hello" >>M_1就是打印信息到文件M_1。若打印的字符串出现了以下字符,则特别加以处理,而不会将它当成一般文字输出,这时候要加-e参数:
\a 发出警告声;
\b 删除前一个字符;
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab;
\v 与\f相同;
\\ 插入\字符;
\nnn 插入nnn(八进制)所代表的ASCII字符;
\b 删除前一个字符;
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab;
\v 与\f相同;
\\ 插入\字符;
\nnn 插入nnn(八进制)所代表的ASCII字符;
当完成shell编程之后,将文件保存,后缀名为.sh。假设为test.sh
2)最后一步要对这个文件赋予可执行权限,并且所有设置为所有用户/用户组都可以访问:
chmod a+x test.sh
否则会提示权限不够。(不设置也是可以的,可以直接使用bash test.sh来运行)
3)还有一个cat的知识点:
cat test.sh >> test2.sh
将test中的内容插入到test2.sh中,如果没有test2.sh就创建这个文件。
4)运行时的截图如下:
5)结果如下:
最新文章
- python学习笔记系列----(七)类
- 面向对象tab栏例子分析
- Android学习笔记(八)
- MongoDB的安装 转
- 上次遗留下来的XMLUtil的问题
- 第4章 awk编程
- 快速排序详解以及java实现
- IIS7、IIS6 web.config注册HttpModule
- Flex 扩展combobox 实现复选功能
- 【HTTP 2】 序言
- 卸载XCode插件的方法
- 1.6部署到CentOS「深入浅出ASP.NET Core系列」
- C# 利用位运算传递多个参数方法
- 用html和css制作奥运五环
- 解决MVC 时间序列化的方法
- K - Strange Country II 暴力dfs判断有向图是否连通//lxm
- Codeforces Global Round1 简要题解
- 20162314 Experiment 1: Linear structure - experiment report.
- ionic 进入二级目录以后隐藏底部导航栏(tabs)
- HibernateUtil hibernate4.0以上