【linux之链接,函数,随机数】

一、链接

硬链接(hard link):
同一个文件使用了多个别名。新建文件是已经存在的一个别名,,当原文件删除时,新建的文件仍然可以使用。硬链接和原来的文件没有什么区别,而且共享一个inode号。通过索引节点链接。 ln
不允许给目录创建硬链接;
只有在同一文件系统中的文件之间才能创建链接。

软链接(symbolic link):符号链接。
新建文件以路径的形式表示另一个文件,和windows快捷方式十分相似,新建的软链接可以指向不存在的文件。
软链接不共享inode。ln -s

原文件删除了,则该软链接不可以访问,而硬链接可以。

ln [OPTION]... [-T] TARGET LINK_NAME
create a link to TARGET with the name LINK_NAME.
ln -s 源文件 目标文件

二、函数

函数--功能(function)
将一组可能被反复执行的命令或者出现频率很高的命令,整合在一起。
函数相当于在脚本中自定义的命令。
默认情况下,函数不能自动运行,如果想要运行函数中的命令,必须调用函数。

函数的定义:
方法1:
function FUNCNAME {
函数体
}

方法2:
FUNCNAME() {
函数体
}

调用函数方法:
FUNCNAME

用return命令直接定义一个返回值,但并不会退出脚本

函数定义:
function SHOWMENU {
cat <<EOF
D|d:disk usage
M|m:Memory infomation
S|s:Swap infomation
Q|q:quit from this script.
EOF
}

调用:
SHOWMENU

三、随机变量

echo $RANDOM
熵池 1-32768

若取17个随机情况,就用随机数和17取模运算

0~9之间任意两个整数相加,相减,相乘,相除结果,如果是小数保留两位。

#!/bin/bash
NUM1=$[$RANDOM%10]
NUM2=$[$RANDOM%10]

while [ $NUM1 -eq $NUM2 ];do
 NUM2=$[$RANDOM%10]
done

plus(){
if [ $1 -eq $2 ];then
 echo "same numbers."
 return 10
 RESE=`echo $?`
fi
 let SUM=$1+$2
echo $SUM
}

plus NUM1 NUM2

原文地址:https://www.cnblogs.com/smallmars/p/8555722.html

时间: 2024-11-10 01:26:55

【linux之链接,函数,随机数】的相关文章

对于linux下system()函数的深度理解(整理)

对于linux下system()函数的深度理解(整理) (2013-02-07 08:58:54) 这几天调程序(嵌入式linux),发现程序有时就莫名其妙的死掉,每次都定位在程序中不同的system()函数,直接在shell下输入system()函数中调用的命令也都一切正常.就没理这个bug,以为是其他的代码影响到这个,或是内核驱动文件系统什么的异常导致,昨天有出现了这个问题,就随手百了一下度,问题出现了,很多人都说system()函数要慎用要少用要能不用则不用,system()函数不稳定?

[C] linux静态链接库与动态链接库详解

http://blog.chinaunix.net/u2/76292/showart.php?id=1274181 一顺便说说了哦  通常情况下,对函数库的链接是放在编译时期(compile time)完成的.所有相关的对象文件(object file)与牵涉到的函数库(library)被链接合成一个可执行文件(executable file).程序在运行时,与函数库再无瓜葛,因为所有需要的函数已拷贝到自己门下.所以这些函数库被成为静态库(static libaray),通常文件名为"libxx

再探Linux动态链接 -- 关于动态库的基础知识

  在近一段时间里,由于多次参与相关专业软件Linux运行环境建设,深感有必要将这些知识理一理,供往后参考. 编译时和运行时 纵观程序编译整个过程,细分可分为编译(Compiling,指的是语言到平台相关目标文件这一层次)和链接(Linking,指目标文件到最终形成可执行文件这一层次),这个总的过程可称为编译时:就动态链接而言,还存在一个运行时,即程序在被操作系统加载的过程中,系统将该程序需要的动态库加载至内存到程序开始运行的这一段过程.明确这两个过程在一般linux开发中的地位,以及了解每个"

Linux 静态链接库和动态连接库

(0)文件夹 VMware 下安装Ubuntu的吐血经历 零基础学习Shell编程 Linux下的makefile的妙用 Linux调试神器 -- gdb 十分钟学会Python的基本类型 Linux 静态链接库和动态连接库 一:静态链接库的应用  三步走~~~ ##g++ -c StaticMath.cpp ##ar -crv libstaticmath.a StaticMath.o ##g++ -o run test_a.cpp -L. -lstaticmath #[@sjs_37_33 l

linux中fork()函数详解[zz]

转载自:http://www.cnblogs.com/york-hust/archive/2012/11/23/2784534.html 一.fork入门知识 一个进程,包括代码.数据和分配给进程的资源.fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事. 一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间.然后把原来的进程的所有值都复制到新的新进程中,只有

Linux下Kill函数用法

http://www.cnblogs.com/winnxm/archive/2010/01/22/1654502.html [ KILL ]功能描述: 用于向任何进程组或进程发送信号. 1 #include <sys/types.h> 2 3 #include <signal.h> 4 5 int kill(pid_t pid, int sig); 6 7 参数: pid:可能选择有以下四种 1. pid大于零时,pid是信号欲送往的进程的标识. 2. pid等于零时,信号将送往所

linux硬链接和符号连接

linux硬链接与软链接1.Linux链接概念Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).默认情况下,ln命令产生硬链接.[硬连接]硬连接指通过索引节点来进行连接.在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index).在Linux中,多个文件名指向同一索引节点是存在的.一般这种连接就是硬连接.硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬

Linux的链接文件-ln命令

Linux的链接文件 使用ln命令来创建链接文件(link) Linux链接分两种:硬链接(Hard Link),符号链接(Symbolic Link) 默认情况下,ln命令产生硬链接. [[email protected] lianxi]# ln  -s  xiaotong   tongtong    #符号链接才能为目录建立链接 源文件     目标文件(链接文件) [[email protected] lianxi]# cd tongtong/ [[email protected] ton

【C/C++】Linux下system()函数引发的错误

http://my.oschina.net/renhc/blog/54582 [C/C++]Linux下system()函数引发的错误 恋恋美食  恋恋美食 发布时间: 2012/04/21 11:33 阅读: 11393 收藏: 21 点赞: 8 评论: 4 今天,一个运行了近一年的程序突然挂掉了,问题定位到是system()函数出的问题,关于该函数的简单使用在我上篇文章做过介绍: http://my.oschina.net/renhc/blog/53580 先看一下问题 简单封装了一下sys

(实验6)字符串链接函数(不用)

自己编写一个字符串链接函数:函数首部定义为void fun(char a[],char b[])其功能是:将形参数组b中的字符顺序连接到形参数组a的字符串后面.注:不能使用字符串的复制和连接函数.例如:a中的字符串为hello,b中的字符串为123,则字符串a中的内容为hello123. main函数中输入两字符串赋给字符数组str1和str2,调用fun函数,实现两字符串的连接,并将连接好后的字符串输出. #include<stdio.h>#include<string.h>in