记录关于系统运维,虚拟化云计算,数据库,网络安全等各方面问题,
 
0

Linux Shell 函数

发表者:admin分类:Shell编程2020-10-15 16:09:25 阅读[78]
Shell 函数linux shell 可以用户定义函数,然后在shell脚本中可以随便调用。shell中函数的定义格式如下:[ function ] funname [()] { action; [return int;] }说明:1、可以带function fun() 定义,也可以直接fun() 定义,不带任何参数。2、参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值。 return后跟数值n(0-255下面的例子定义了一个函数并进行调用:#!/bin/bash # author:菜鸟教程 # url:www.runoob.com demoFun(){ echo "这是我的第一个 shell 函数!" } echo "-----函数开始执行-----" demoFun echo "-----函数执行完毕-----"输出结果:-----函数开始执行----- 这是我的第一个 shell 函数! -----函数执行完毕-----下面定义一个带有return语句的函数:#!/bin/bash # author:菜鸟教程 # url:www.runoob.com funWithReturn(){ echo "这个函数会对输入的两个数字进行相加运算..." echo "输入第一个数字: " read aNum echo "输入第二个数字: " read anotherNum echo "两个数字分别为 $aNum ...
我们现在芯片被美国卡脖子,所以RISC-V是大势所趋。华为鸿蒙提供的编译器(https://repo.huaweicloud.com/harmonyos/compiler/)里也有RISC-V。虽然现在硬件资源比较少,但是通过软件模拟环境,可以提早做好准备。 RISC-V GNU Toolchain 源码获取 要体验RISC-V,首先需要安装交叉编译器。然而国内的网络很差,想要在GitHub上拿到源码(https://github.com/riscv/riscv-gnu-toolchain)编译非常困难。比较庆幸的是Gitee上有镜像(https://gitee.com/mirrors/riscv-gnu-toolchain),每天同步一次。 获取源码: git clone https://gitee.com/mirrors/riscv-gnu-toolchain.git cd riscv-gnu-toolchain git submodule update --init --recursive 然而在我通过Gitee拿代码的时候,子模块下载速度依然非常慢,特别是QEMU里的一个子模块。于是我把QEMU从同步中删除了,因为不影响编译: git rm --cached QEMU git submodule update --init --recursive 考虑到下载速度,我把拿到的所有代码放到Gitee上(https://gitee.com/yushulx/riscv-gnu-toolchain)。这个代码库不做更新,只提供给网络差,又需要体验RISC-V的人。需要拿最新代码就去GitHub或者Gitee镜像。 编译安装 接下来就...
QEMU模拟RISCV环境运行Fedora虚拟机并配置NAT与Bridge网络在Hyper-v中安装了Centos8,然后编译安装qemu,运行riscv_64位环境,安装fedora-mininal_riscv虚拟机,然后添加网卡,并建立桥接bridge网络,使用NAT将虚拟机网络打通。Centos8系统使用eth0网卡,IP: 192.168.137.30/24, GATEWAY: 192.168.137.1Centos8系统br0网卡 IP: 192.168.1.1/24  qemu中的fedora_riscv镜像系统使用IP: 192.168.1.200/24, GATEWAY:192.168.1.11,在centos8,安装qemu并下载相关riscv环境镜像,具体看之前的文章。2),添加 名称与设备名为br1 的网桥。[root@k8s-30 ~]# nmcli conn add type bridge con-name br0 ifname br0连接 "br1" (c6f8f0fd-f631-42fa-911d-0e27a34a0da1) 已成功添加。[root@k8s-30 ~]#[root@k8s-30 ~]# nmcli connection showNAME  UUID                                  TYPE      DEVICEeth0  5fb06bd0-0bb0-7ffb-45...
Centos8/RHEL8系统使用nmcli与nmtui配置bridge桥接网卡 在系统中编译安装了qemu5.4-RISCV最新版本,但是模拟机网卡不能访问外网, 在eth1网卡上面配置一个桥接网卡,这样就比较方面了。 1,查看网卡设备信息。 [root@k8s-30 ~]# nmcli device showGENERAL.DEVICE:                         eth0GENERAL.TYPE:                           ethernetGENERAL.HWADDR:                         00:15:5D:5D:94:01GENERAL.MTU:                            1500GENERAL.STATE:      &n...
  ORACLE 中文与英文日间区别,插入时间会报错,显示'无效的月份' 表结构信息如下: CREATE TABLE STUDENT.COURSE (   COURSE_NO      NUMBER(8) CONSTRAINT CRSE_COURSE_NO_NNULL NOT NULL,   DESCRIPTION    VARCHAR2(50 BYTE) CONSTRAINT CRSE_DESCRIPTION_NNULL NOT NULL,   COST           NUMBER(9,2),   PREREQUISITE   NUMBER(8),   CREATED_BY     VARCHAR2(30 BYTE) CONSTRAINT CRSE_CREATED_BY_NNULL NOT NULL,   CREATED_DATE   DATE CONSTRAINT CRSE_CREATED_DATE_NNULL NOT NULL,   MODIFIED_BY    VARCHAR2(30 BYTE) CONSTRAINT CRSE_MODIFIED_BY_NNULL NOT NULL,   MODIFIED_DATE  DATE CONSTRAINT CRSE_MODIFIED_DATE_NNULL NOT NULL ) 在toad for oracle工具中执行插入数据如下: ALTER SESSION SET NLS_DATE_FORMAT = 'DD-MON-RR HH24:MI:SS'; Insert into STUDENT.COURSE    (COURSE_NO, DESCRIPTION, COST, PR...
ORACLE数据字典是ORACLE数据库的重要组成部分,它提供了诸如数据库结构、数据库对象空间分配和数据库用户等等有关数据库的信息。数据字典表(Data Dictionary Table) 用以存储表、索引、约束及其他数据结构信息。这些对象通常以$结尾(如tab$、obj$、ts$)在创建数据库的时候通过运行sql.bsq脚本来创建,这个文件包含了每个数据字典表的定义及注释说明。该文件在$ORCLE_HOME/rdbms/admin目录下,通过这些内容可以深入了解数据库的对象信息。如之前我们看到的数据库启动时创建的bootstrap$表SQLcreate table bootstrap$( line# number not null, /* statement order id */ obj# number not null, /* object number */ sql_text varchar2("M_VCSZ") not null) /* statement */ storage (initial 50K) /* to avoid space management during IOR I */// /* "//" required for bootstrap */又比如undo表SQLcreate table undo$ /* undo segment table */( us# ...
oracle 数据字典系统表 OBJ$ 字段type#编号代表意思SQL> set long 99999SQL> select TEXT from dba_views where view_name =upper('dba_objects');TEXT--------------------------------------------------------------------------------select u.name, o.name, o.subname, o.obj#, o.dataobj#,       decode(o.type#, 0, 'NEXT OBJECT', 1, 'INDEX', 2, 'TABLE', 3, 'CLUSTER',                      4, 'VIEW', 5, 'SYNONYM', 6, 'SEQUENCE',                      7, 'PROCEDURE', 8, 'FUNCTION', 9, 'PACKAGE',                      11, 'PACKAGE BODY', 12, 'TRIGGER',                      13, 'TYPE', 14, 'TYPE BODY',                      19, 'TABLE PARTITION', 20, 'INDEX PARTITION', 21, 'LOB',          ...
最近在帮一个研究生弄一个虚拟化环境下的基于Innodb的日志文件的读写优化的实验,实验的具体详细内容就不说了,其中有一个步骤需要将MySQL的日志文件放置在一块单独的硬盘里面,这块硬盘要么是ext2,要么是ext4,ext4的性能据说比前面的ext系列的要高,所以选择了ext4。但是ext4具备有日志的功能,如果开启了这个日志功能的话,到时又会有多个虚拟机同时跑,那么这个ext4的日志功能会对我们的实验数据产生一定的影响,并且我们在实验中并不需要到这个日志功能,所以需要将这个日志功能关闭。具体如下步骤:  下面的vda便是虚拟机所导入的硬盘,我们先对这个硬盘格式化一下: [root@centos7_vm_1 ~]# mkfs.ext4 /dev/vda  mke2fs 1.42.9 (28-Dec-2013) Filesystem label=OS type: Linux Block size=1024 (log=0) Fragment size=1024 (log=0) Stride=0 blocks, Stripe width=0 blocks65536 inodes, 262144 blocks13107 blocks (5.00%) reserved for the super user First data block=1Maximum filesystem ...
    总共275页,当前第1页 | 页数:
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11