shell脚本实例

shell

ぃ、小莉子 提交于 2019-12-03 14:59:39
三、函数的参数传递 1、使用变量的方式传递固定值 [root@manager-61~/cxp]# cat function.lx02.sh #!/usr/bin/bash fun_1(){ echo "$num" } num=10 fun_1 [root@manager-61~/cxp]# sh function.lx02.sh 10 2、使用变量的方式传递可变的值 [root@manager-61~/cxp]# cat function.lx03.sh #!/usr/bin/bash fun_1(){ echo "$num" } num=$1 #执行脚本时将脚本的位置变量的第一个参数传给num fun_1 [root@manager-61~/cxp]# sh function.lx03.sh 6 6 [root@manager-61~/cxp]# sh function.lx03.sh hello hello 3、函数传参示例,传递多个位置参数 `方式一` [root@manager-61~/cxp]# cat function.lx04.sh #!/usr/bin/bash fun_1(){ echo "$1" } fun_1 $1 fun_1 $2 fun_1 $3 [root@manager-61~/cxp]# sh function.lx04.sh 11 22 33 11

shell 函数

和自甴很熟 提交于 2019-12-03 11:34:39
1.如何定义函数和调用函数 fun01 () { echo "Hello World"; } fun01 2.如何给函数传递一个参数 fun01 () { echo "Hello $1"; } fun01 SHell #执行时跟上一个固定的参数 fun01 $1 #执行时跟上一个不固定的参数 (脚本的位置参数,需要执行脚本时传递) 3.函数接收N多个参数传递 fun01 () { echo "Hello $*"; } fun01 liunx shell Python Test 4.函数传参 第一种方式 fun01 () { echo "Hello $1" } #脚本的位置参数 fun01 $1 需求1,写一个脚本,该脚本可以实现计算器的功能,可以进行 +- * / 四种计算。 例如: sh cal.sh 30 + 40 | sh cal.sh 30 - 40 | sh cal.sh 30 * 40 | sh cal.sh 30 / 40 [root@manager functions]# cat fun02.sh fun () { case $2 in +) echo $1 + $3 = $[ $1 + $3 ] ;; -) echo $1 - $3 = $[ $1 - $3 ] ;; x) echo $1 x $3 = $[ $1 * $3 ] ;; /) echo $1 /

Linux 学习笔记 4:Shell 编程

易管家 提交于 2019-12-03 10:17:10
1. 简单过滤器 a. pr [OPTION] [FILE] 功能:改变文件打印格式 选项 功能 -l n 设定页面长度为n行 -w n 设定页面总宽度为n个字符(不够会被砍掉) -h str 设定页眉为str -n 对行进行编号 -k 分k列输出 -t 不显示页眉、页脚和边距 b.head [OPTION] [FILE] 默认10行 选项 功能 -n k 显示前k行内容 tail [OPTION] [FILE] 选项 功能 -n k 显示后k行内容 -f 监控文件内容增长(进程相关) c.cut OPTION [FILE] 功能:垂直划分文件 选项 功能 -cn-m 剪切n-m列,每列宽度为一个字符 -fn-m 剪切n-m个字段, 字段分隔符由-d选项指定 -fn,m 剪切第n和m个字段,字段分隔符由-d选项指定 -d 指定字段分隔符,默认制表符 d.paste [OPTION] [FILE] 功能:垂直黏贴文件 选项 功能 -s 合并行 -d 指定字段分隔符 e.sort [OPTION] [FILE] 功能:对文件内容排序 选项 功能 -tchar 用char作为分隔符识别字段 -k m,n 对第m个字段开始到第n个字段进行排序 -k m.n 对第m个字段的第n个字符进行排序 -u 删除重复行 -n 数值排序(不指定则为字典序) -r 逆序 -f 不区分大小写 -c

QT执行shell脚本或者执行linux指令

回眸只為那壹抹淺笑 提交于 2019-12-03 04:24:38
由于我在做linux下的QT开发,有时候会用到shell脚本的辅助,但是需要QT运行shell脚本并获取执行结果,今天给大家分享下我的技巧,废话少说直接上代码: //执行shell指令或者shell脚本的方法 QString Common::executeLinuxCmd(QString strCmd) { QProcess p; p.start("bash", QStringList() <<"-c" << strCmd); p.waitForFinished(); QString strResult = p.readAllStandardOutput(); return strResult; } //实例 QString strResult1 = executeLinuxCmd("sudo sh /home/test.sh"); QString strResult2 = executeLinuxCmd("cat /etc/hostname"); 大家根据自己的业务需求去处理strResult1和strResult2,相信我的代码很清晰了吧!!!    来源: https://www.cnblogs.com/xupeidong/p/11777031.html

android adb常用指令

两盒软妹~` 提交于 2019-12-03 03:42:37
android adb常用指令 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。 可以通过下列几种方法加入adb: 在设备上运行shell命令 通过端口转发来管理模拟器或设备 从模拟器或设备上拷贝来或拷贝走文件 下面对adb进行了介绍并描述了常见的使用. Contents 概要 发出adb命令 查询模拟器/设备实例 给特定的模拟器/设备实例发送命令 安装软件 转发端口 从模拟器/设备中拷入或拷出文件 Adb命令列表 启动shell命令 通过远程shell端运行sqllite3连接数据库 UI/软件 试验程序 Monkey 其它的shell命令 启用logcat日志 使用logcat命令 过滤日志输出 控制日志输出格式 查看可用日志缓冲区 查看stdout 和stderr Logcat命令列表 停止adb服务 概要 Android 调试系统是一个面对客户服务系统,包括三个组成部分: 一个在你用于开发程序的电脑上运行的客户端。你可以通过shell端使用adb命令启动客户端。 其他Android工具比如说ADT插件和DDMS同样可以产生adb客户端. 在你用于发的机器上作为后台进程运行的服务器。该服务器负责管理客户端与运行于模拟器或设备上的adb守护程序(daemon)之间的通信。. 一个以后台进程的形式运行于模拟器或设备上的守护程序

Android adb常用命令

谁说我不能喝 提交于 2019-12-03 03:42:24
Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。 可以通过下列几种方法加入adb: 在设备上运行shell命令 通过端口转发来管理模拟器或设备 从模拟器或设备上拷贝来或拷贝走文件 下面对adb进行了介绍并描述了常见的使用. Contents 概要 发出adb命令 查询模拟器/设备实例 给特定的模拟器/设备实例发送命令 安装软件 转发端口 从模拟器/设备中拷入或拷出文件 Adb命令列表 启动shell命令 通过远程shell端运行sqllite3连接数据库 UI/软件 试验程序 Monkey 其它的shell命令 启用logcat日志 使用logcat命令 过滤日志输出 控制日志输出格式 查看可用日志缓冲区 查看stdout 和stderr Logcat命令列表 停止adb服务 概要 Android 调试系统是一个面对客户服务系统,包括三个组成部分: 一个在你用于开发程序的电脑上运行的客户端。你可以通过shell端使用adb命令启动客户端。 其他Android工具比如说ADT插件和DDMS同样可以产生adb客户端. 在你用于发的机器上作为后台进程运行的服务器。该服务器负责管理客户端与运行于模拟器或设备上的adb守护程序(daemon)之间的通信。. 一个以后台进程的形式运行于模拟器或设备上的守护程序(daemon)。.

Linux里设置环境变量的方法(export PATH)

╄→гoц情女王★ 提交于 2019-12-03 01:45:50
1.动态库路径的设置 Linux下调用动态库和windows不一样.linux 可执行程序是靠配置文件去读取路径的,因此有些时候需要设置路径 具体操作如下 export LD_LIBRARY_PATH=/home/.....(动态库的目录) 不过这种设置方法只是在当前的session中有效 你可以修改配置文件实现任何session都有效 2.环境变量的设置 一般来说,配置交叉编译工具链的时候需要指定编译工具的路径,此时就需要设置环境变量。例如我的mips-linux-gcc编译器在“/opt /au1200_rm/build_tools/bin”目录下,build_tools就是我的编译工具,则有如下三种方法来设置环境变量: 2.1、直接用export命令: #export PATH=$PATH:/opt/au1200_rm/build_tools/bin 查看是否已经设好,可用命令export查看: 可以看到,环境变量已经设好,PATH里面已经有了我要加的编译器的路径。 2.2、修改profile文件: #vi /etc/profile 在里面加入: export PATH="$PATH:/opt/au1200_rm/build_tools/bin" 让环境变量立即生效需要执行如下命令: #source /etc/profile 2.3. 修改.bashrc文件: # vi

Shell 脚本实例

匿名 (未验证) 提交于 2019-12-03 00:38:01
执行db.dump.sh westos(数据库密码)脚本执行后会备份数据库中的所有库到/mnt/mysqldump目录中备份文件名称为“库名称 .sql”当此文件存在时报错并询问动作输入“S”跳过备份,当输入“B”时备份“库名称.sq””文件为“库名称backup.sql” ,当输入“O”时,覆盖源文件 脚本内容如下: #!/bin/bash Action() # 定义函数,进行操作指南 { read -p "Please input action like:[S]kip [B]ackup [O]verwrite " action action=` echo $action | tr 'A-Z' 'a-z' ` } Action $1 Database=`mysql -uroot -p $1 -EN -e "show databases;" |grep -E "^\*|schema$" -v ` mkdir -p /mnt/sqldump/ [ -e " $database_name " .sql ]&& Case $1 Case() # 定义函数,匹配操作 { case $action in s) # s 时不做任何操作 ;; b) # b 时,将文件备份为数据库名称bachup.sql for database_name in $Database do mysqldump

shell 流程控制

匿名 (未验证) 提交于 2019-12-03 00:32:02
和Java、PHP等语言不一样,sh的流程控制不可为空,如(以下为PHP流程控制写法): <? php if ( isset ( $_GET [ "q" ])) { search ( q ); } else { // 不做任何事情 } 在sh/bash里可不能这么写,如果else分支没有语句执行,就不要写这个else。 if else if if 语句语法格式: if condition then command1 command2 ... commandN fi 写成一行(适用于终端命令提示符): if [ $ ( ps - ef | grep - c "ssh" ) - gt 1 ]; then echo "true" ; fi 末尾的fi就是if倒过来拼写,后面还会遇到类似的。 if else if else 语法格式: if condition then command1 command2 ... commandN else command fi if else-if else if else-if else 语法格式: if condition1 then command1 elif condition2 then command2 else commandN fi 以下实例判断两个变量是否相等: a = 10 b = 20 if [ $a == $b ] then

Shell 流程控制

匿名 (未验证) 提交于 2019-12-03 00:19:01
Shell 流程控制 和Java、PHP等语言不一样,sh的流程控制不可为空,如(以下为PHP流程控制写法): <? php if ( isset ( $_GET [ "q" ])) { search ( q ); } else { // 不做任何事情 } 在sh/bash里可不能这么写,如果else分支没有语句执行,就不要写这个else。 if else if if 语句语法格式: if condition then command1 command2 ... commandN fi 写成一行(适用于终端命令提示符): if [ $ ( ps - ef | grep - c "ssh" ) - gt 1 ]; then echo "true" ; fi 末尾的fi就是if倒过来拼写,后面还会遇到类似的。 if else if else 语法格式: if condition then command1 command2 ... commandN else command fi if else-if else if else-if else 语法格式: if condition1 then command1 elif condition2 then command2 else commandN fi 以下实例判断两个变量是否相等: a = 10 b = 20 if [ $a ==