首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【shell脚本】$ shell脚本使用

shell脚本 '$' 与不同符号搭配其表示意义也会不同 特殊标志符 含义 $0 当前脚本文件名 $n 传递给脚本函数参数。n 是一个数字,表示第几个参数。...例如,第一个参数是$1,第二个参数是$2 $# 传递给脚本函数参数个数 $* 传递给脚本函数所有参数 $@ 传递给脚本函数所有参数 $?...上个命令退出状态 $$ 当前Shell进程ID $() 与 `(反引号) 一样用来命令替换使用 ${} 引用变量划分出边界 注释:$* 和 $@ 都表示传递给函数脚本所有参数,不被双引号(" "...)包含时,都以"$1" "$2" … "$n" 形式输出所有参数。...但是当它们被双引号(" ")包含时,"$*" 会将所有的参数作为一个整体,以"$1 $2 … $n"形式输出所有参数;"$@" 会将各个参数分开,以"$1" "$2" … "$n" 形式输出所有参数

6.1K20
您找到你想要的搜索结果了吗?
是的
没有找到

golang 函数使用返回与指针返回区别,底层原理分析

变量内存分配与回收 堆与栈区别 变量内存分配逃逸分析 检查该变量是栈上分配还是堆上分配 函数内变量堆上分配一些 case 函数使用值与指针返回时性能差异 其他一些使用经验 总结 变量内存分配与回收...栈 函数调用栈简称栈,程序运行过程,不管是函数执行还是函数调用,栈都起着非常重要作用,它主要被用来: 保存函数局部变量; 向被调用函数传递参数; 返回函数返回值; 保存函数返回地址,返回地址是指从被调用函数返回后调用者应该继续执行指令地址...; 每个函数执行过程中都需要使用栈内存用来保存上述这些值,我们称这块栈内存为某函数栈帧(stack frame)。...上文介绍了 Go 变量内存分配方式,通过上文可以知道函数定义变量并使用返回时,该变量会在栈上分配内存,函数返回时会拷贝整个对象,使用指针返回时变量分配内存时会逃逸到堆返回时只会拷贝指针地址...那函数返回时是使用值还是指针,哪种效率更高呢,虽然值有拷贝操作,但是返回指针会将变量分配在堆上,堆上变量分配以及回收也会有较大开销。

4.8K40

Shell-aliasShell脚本使用

概述 shell开启alias 实际操作 概述 众所周知,shell脚本使用是非交互式方式,非交互式模式下alias扩展功能默认是关闭,此时虽然可以定义alias别名,但是shell不会将alias...---- shell开启alias 使用shell内置命令shopt命令来开启alias扩展选项。...默认是打开非交互式模式下是关闭,但可以用可shopt来将其开启 shopt -s expand_aliases ---- 实际操作 我们项目中某个模块双机启动脚本(root用户下操作),...其中应用启停使用了alias建立同义词来操作,如果想要在脚本使用,必须开启同义词才。...项目启动中会依赖一些环境变量,所以双机启动脚本需要显式引入.bash_profile文件。 所以我们将 开启alias命令放在 .bash_profile

2.2K10

数组-Shell脚本基本使用介绍

Shell脚本在运维工作是极其重要,而数组shell脚本运用无论是循环或运算方面都是非常实用一个环节。...下面是对shell脚本数组方面一些操作在此进行记录,希望能帮助到有兴趣朋友~ 1.数组定义 [root@bastion-IDC ~]# a=(1 2 3 4 5 6 7 8) [root@bastion-IDC...bastion-IDC ~]# echo ${a[*]} 1 3 4 5 6 7 8 [root@bastion-IDC ~]# echo ${#a[*]} 7 直接通过:unset 数组[下标] 可以清除相应元素...3.特殊使用 1)分片: [root@bastion-IDC ~]# a=(1 2 3 4 5 6 7 8) [root@bastion-IDC ~]# echo ${a[@]:0:3} 1 2 3 [...bastion-IDC ~]# echo ${#c[@]} 4 [root@bastion-IDC ~]# echo ${c[*]} 2 3 4 5 直接通过 ${数组名[@或*]:起始位置:长度} 切片原先数组,返回是字符串

3.9K100

脚本单独使用djangoORM模型详解

有时候测试django中一些模块时,不想重新跑一整个django项目,只想跑单个文件,正好写在if __name__ == ‘__main__’: 这样也不会打扰到正常代码逻辑 方法 正常方法 大家都知道方法就是...’python manage.py shell’,当然我知道这可能不是你需要; 更好用方法 脚本import模型前调用下面几行即可: import os, sys BASE_DIR = os.path.dirname...’from XXXX.models import XXX’就不会报错了 补充知识:Django使用外部文件对models操作容易产生问题 看代码吧!...导入models时候,还没有django对应环境下导入 这里导入顺序很重要 import os import django os.environ.setdefault('DJANGO_SETTINGS_MODULE...以上这篇脚本单独使用djangoORM模型详解就是小编分享给大家全部内容了,希望能给大家一个参考。

4.7K10

【Kotlin 协程】Flow 异步流 ① ( 以异步返回返回多个返回值 | 同步调用返回多个值弊端 | 尝试 sequence 调用挂起函数返回多个返回值 | 协程调用挂起函数返回集合 )

文章目录 一、以异步返回返回多个返回值 二、同步调用返回多个值弊端 三、尝试 sequence 调用挂起函数返回多个返回值 四、协程调用挂起函数返回集合 一、以异步返回返回多个返回值 ----... Kotlin 协程 Coroutine , 使用 suspend 挂起函数 以异步方式 返回单个返回值肯定可以实现 , 参考 【Kotlin 协程】协程挂起和恢复 ① ( 协程挂起和恢复概念...| 协程 suspend 挂起函数 ) 博客 ; 如果要 以异步方式 返回多个元素返回值 , 可以使用如下方案 : 集合 序列 Suspend 挂起函数 Flow 异步流 二、同步调用返回多个值弊端...sequence 调用挂起函数返回多个返回值 ---- 尝试使用 挂起函数 kotlinx.coroutines.delay 进行休眠 , 这样挂起时 , 不影响主线程其它操作 , 此时会报如下错误...---- 如果要 以异步方式 返回多个返回值 , 可以协程调用挂起函数返回集合 , 但是该方案只能一次性返回多个返回值 , 不能持续不断 先后 返回 多个 返回值 ; 代码示例 : package

8.1K30

PHPstrpos函数正确使用方式

首先简单介绍下 strpos 函数,strpos 函数是查找某个字符字符串位置,这里需要明确这个函数作用,这个函数得到是位置。 如果存在,返回数字,否则返回是 false。...而很多时候我们拿这个函数用来判断字符串是否存在某个字符,一些同学使用姿势是这样 // 判断‘沈唁志博客’是否存在‘博客’这个词 if (strpos('沈唁志博客', '博客')) {...echo '不存在'; } 输出了’不存在’;原因是因为 ‘沈’ ‘沈唁志博客’第 0 个位置;而 0 if 中表示了 false,所以,如果用 strpos 来判断字符串是否存在某个字符时...必须使用===false 必须使用===false 必须使用===false 重要事情说三遍,正确使用方式如下 // 判断‘沈唁志博客’是否存在‘博客’这个词 if (strpos('沈唁志博客...原创文章采用CC BY-NC-SA 4.0协议进行许可,转载请注明:转载自:PHPstrpos函数正确使用方式

5.1K30

Puppeteer 初探

木偶 Puppeteer 更友好 Headless Chrome Node API 木偶也是有心 (=・ω・=) Puppeteer是什么?...你可以浏览器手动完成大部分事情都可以使用Puppteer完成 比如: 生成页面的屏幕截图和PDF。 抓取SPA并生成预先呈现内容(即“SSR”)。 自动表单提交,UI测试,键盘输入等。...创建一个最新自动化测试环境。使用最新JavaScript和浏览器功能,直接在最新版本Chrome浏览器运行测试。 捕获您网站时间线跟踪,以帮助诊断性能问题。...; await page.pdf({path: path + name + '.pdf', format: 'A4'}); await browser.close(); } 实例三 渲染页面执行代码...iframe.evaluate() 浏览器执行函数,相当于控制台中执行函数返回一个 Promise Array.from 将类数组对象转化为对象 page.click() 点击一个元素 iframe

2.6K20

Jmeter(三十)_TimeShift函数JSR223使用

今天学习一下TimeShift函数JSR223使用方法。 关联之前一篇时间戳文章:Jmeter(十二)_打印时间戳 首先,创建线程组,在线程组下面创建一个JSR223采样器 ?...JSR223采样器,添加下面的代码 log.info("Next year: " + "${c5}"); ?...用于如果要通过添加或减去特定天数,小时或分钟来创建特定日期情况。如果参数值未通过,则使用当前日期。 移位 - 表示要从日期参数添加或减去多少天,几小时或几分钟。...如果该值未被传递,则不会将任何值减去或添加到日期参数。...返回:c4=2018 mai 30 11:08:23 $ {__ timeShift(dd / MM / yyyy,10/10/2010,P365D,c5)}; - 10/10/2010加上365天创建一个日期

3K41

软件测试|web自动化测试神器playwright教程(二十三)

前言我们进行web自动化时,经常遇到一些不好操作元素,普通元素定位和操作容易报错,如果我们使用selenium的话,就可以使用selenium调用js脚本进行操作。...playwright 也有类似的方法,使用page.evaluate()执行JavaScript脚本。...page.evaluate()和page.evaluate_handle()之间唯一区别是page.evaluate_handle()返回JSHandle。...page.evaluate() 返回调用执行结果page.evaluate_handle()返回JSHandlepage.evaluate()返回evaluate() 返回执行JavaScript脚本结果...()函数返回一个不可序列化值,则page.evaluate()解析为undefined示例打印网页标题执行document.title 获取页面的title,代码如下:from playwright.sync_api

23450

上天Node.js之爬虫篇 15行代码爬取京东淘宝资源 【深入浅出】

arr = []; //这个箭头函数内部写处理逻辑 const imgs = document.querySelectorAll('img'); imgs.forEach...潇洒入世 -逍遥天境篇 上面只爬取了京东首页图片内容,假设我需求进一步扩大,需要爬取京东首页 所有 标签对应跳转网页所有 title文字内容,最后放到一个数组。...page.evaluate 这个函数,内部是处理我们进入想要爬取网页数据逻辑 page.goto和 page.evaluate两个方法,可以async内部调用多次, 那意味着我们可以先进入京东网页...Node.js fs 模块保存到本地 await browser.close() })() 上面有天坑 page.evaluate函数内部console.log不能打印,而且内部不能获取外部变量...,只能return返回使用选择器必须先去对应界面的控制台实验过能不能选择DOM再使用,比如京东无法使用querySelector。

2K30

c语言random函数vc,C++ 随机函数random函数使用方法

大家好,又见面了,我是你们朋友全栈君。 C++ 随机函数random函数使用方法 一、random函数不是ANSI C标准,不能在gcc,vc等编译器下编译通过。...可改用C++下rand函数来实现。 1、C++标准函数库提供一随机数生成器rand,返回0-RAND_MAX之间均匀分布伪随机整数。 RAND_MAX必须至少为32767。...(但这样便于程序调试) 2、C++另一函数srand(),可以指定不同数(无符号整数变元)为种子。但是如果种子相同,伪随机数列也相同。一个办法是让用户输入种子,但是仍然不理想。...若要产生每次不同随机数,可以使用srand( seed )函数进行随机化,随着seed不同,就能够产生不同随机数。...三、按要求设置概率 比如要设置一个10%概率问题,我们可以采取rand()函数来实现,if条件句判断里,用rand()得到值%一个设定值,再与另一个值做“==”运算。

3.8K20

scanf函数实战应用: 实例演示scanf函数实际应用使用方法

C语言中,scanf函数是一种常用读取数据方式,它可以按照我们预期格式读取数据。为了让scanf函数更高效地工作,我们可以使用格式化字符串来限制输入数据类型和长度。...清空输入缓存 在读取多个值时,scanf函数会将之前未读取数据留在输入缓存,可能会影响后续读取。我们可以使用 "%[^\n]% c" 这种格式化字符串来清空输入缓存。...总之,scanf函数返回值是一个很有用指标,可以用来判断读取是否成功,在编写代码时需要注意使用。...总结 总之,scanf函数是C语言中非常常用函数,其强大格式化字符串可以帮助我们限制输入格式,但是,我们使用scanf函数时也要注意一些细节,如缓存区问题,还要注意scanf函数返回值,以确定读取是否成功...总结来说,scanf函数是C语言中非常常用函数,它格式化字符串能够帮助我们限制输入格式,但是我们使用时也要注意一些细节。

1.9K40

web自动化测试-puppeteer入门与实践

(chrome),可以直接在此运行测试用例 •捕获站点时间线,以便追踪你网站,帮助分析网站性能问题 Puppeteer是使用node语言进行开发使用你可以使用async/await异步解决方案...是个非常强大函数,来看下这个函数page.evaluate(pageFunction, …args) • pageFunction 要在页面实例上下文中执行方法...执行结果 如果pageFunction返回是[Promise],page.evaluate将等待promise完成,并返回返回值。...如果pageFunction返回是不能序列化值,将返回undefined 来看下事例: 给pageFunction传参数示例: const result = await page.evaluate(...page.evaluate(`1 + ${x}`)); // prints "11" 可以通过该函数向页面注入我们函数,这样就有了无限可能 4.调试技巧 对于测试调试,puppeteer可以

1.5K30

使用Node.js爬取任意网页资源并输出高质量PDF文件到本地~

page.evaluate(() => { //这个result数组包含所有的图片src地址 let arr = []; //这个箭头函数内部写处理逻辑 const...page.evaluate 这个函数,内部是处理我们进入想要爬取网页数据逻辑 page.goto和 page.evaluate两个方法,可以async内部调用多次, 那意味着我们可以先进入京东网页...Node.js fs 模块保存到本地 await browser.close() })() 上面有天坑 page.evaluate函数内部console.log不能打印,而且内部不能获取外部变量...,只能return返回使用选择器必须先去对应界面的控制台实验过能不能选择DOM再使用,比如京东无法使用querySelector。...即可下载 第七步 完成第六步下载后,打开本项目的url.js,将您需要爬虫爬取网页地址替换上去(默认是http://nodejs.cn/) 第八步 命令行输入 nodemon index.js

3.1K60

使用PostgreSQLDO或存储过程实现数据库初始化脚本幂等性

今天,我们就以PostgreSQL数据库为例,介绍如何使用DO或存储过程来实现脚本幂等性。 什么是幂等性? 计算机科学,幂等性是一个重要概念。...在前面脚本,DO ... ; 用来定义一个 DO 。这个 DO 代码是一个字符串,用 存储过程与DO区别 存储过程(也被称为函数)和DO很多方面是相似的。...这意味着你可以多个查询或者会话调用同一个存储过程。而DO代码执行之后,就会被丢弃,不会被保存在数据库。 存储过程可以返回结果,这意味着你可以使用存储过程来查询数据,或者计算一些值。...而DO则不返回任何结果。 总的来说,存储过程更加适合那些需要重复使用,或者需要返回结果代码。而DO更加适合执行一次性任务,或者执行那些不需要返回结果代码。...结论 在编写数据库初始化脚本时,通过合理使用PostgreSQLDO或存储过程,我们可以有效地实现脚本幂等性,这对于系统升级和数据库维护来说,是非常重要和有用

47510

python3使用shuffle函数要注意地方

1 shuffle函数与其他函数不一样地方 shuffle函数没有返回值!shuffle函数没有返回值!shuffle函数没有返回值!...1.2 正确使用shuffle函数例子 num1 = list(range(1,39526)) #产生1-39525数 random.shuffle(num1) #注意shuffle没有返回值,该函数完成一种功能...补充拓展:对python中使用shuffle和permutation对列表进行随机洗牌区别 函数:shuffle将列表所有元素随机排序,不生成新数组返回 示例: import random list...函数:permutation 返回排列范围随机列表或返回一个新打乱顺序数组,并不改变原来数组, 如果输入是一个多维数组,则它只沿其第一个索引进行无序排列 示例: import numpy as...以上这篇python3使用shuffle函数要注意地方就是小编分享给大家全部内容了,希望能给大家一个参考。

2.5K30
领券