位置: 编程技术 - 正文

Shell最多支持多少个参数?(shell可以多线程吗)

编辑:rootadmin

推荐整理分享Shell最多支持多少个参数?(shell可以多线程吗),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:shell脚本最多传几个参数,shell可以多线程吗,shell 多个参数,shell的最大命令行长度,shell执行多个命令,shell里面支持的语句是,shell key,shell脚本最多传几个参数,内容如对您有帮助,希望把文章链接给更多的朋友!

在脚本编写过程中,通常会涉及到参数的输入。譬如,sh 1.sh ,在执行1.sh这个脚本中,即为第一个参数,即为第二个参数。有时,就会有这个疑惑,即shell脚本最多可以支持多少个变量呢?疑惑之余,编写了如下脚本,可求出Shell脚本中可输入参数的最大个数。

该脚本涉及到三个小脚本:1.sh 2.sh 3.sh --在这里为了方便,脚本名都是极其简单的。总的思路是给定一个特定的值n,作为输入参数的最大个数,然后将1,2,3...n作为脚本的输入参数,这通过脚本2.sh来实现,接着原样输出这些参数。如果这些参数全部都能输出,即代表给定的n是合理的。这通过脚本3.sh来实现。1.sh实现的功能是通过一个死循环,递增生成n,通过引用2.sh来判定n是否合理。具体可见如下脚本。

首先我们来看看第一个脚本1.sh

该脚本主要是提供了一个死循环,$i指的是可输入参数的个数,2.sh用于判定给定参数的个数是否合理,如果合理,则将该数值追加到currnumber这个文件中,如果不合理,则代表$i-1是shell能接受的最大参数个数。则将该数值输出到maxnumber文件中。

currnumber文件的应用便于检测脚本的执行情况。原打算是echo $i >> currnumber,即每一个合理的数值都输出一行,考虑到文件有最大行数的限制,在这里,就将数值输出到一行。sed -i '1s/$/& '$i'/' currnumber即实现该功能,将$i的值添加到行尾。

再来看看脚本2.sh

脚本2实现的功能是将1,2,3...$i作为3.sh的输入参数,同样,sed -i '2s/$/& '$i'/' 1.test实现的是将1,2,3...n输出到一行。譬如如果$num=,则1.test的内容如下所示:

Shell最多支持多少个参数?(shell可以多线程吗)

最后我们来看看脚本3.sh

该脚本实现的是原样输出输入参数,并将该输入参数输出到2.test中。同样,sed -i '1s/$/& '$i'/' 2.test实现的是追加参数到一行。

总结:

1> sh 1.sh即可求出shell脚本允许的最大输入参数个数。

2> 因条件有限,没有具体求出该值。但我们可跳过1.sh,单纯的通过2.sh来判定特定的数值。如,sh 2.sh ,经测试个输入参数没有问题。

3> 该脚本的亮点是如何将特定的值追加到行尾,这主要通过sed -i '1s/$/& '$i'/' 2.test来实现,其实1s代表第一行。$代表行尾。

4> 在vim中,0可跳到行首,$可跳到行尾。

5> shift左移输入参数的位置。默认是左移1位。如shift 3表示原来的$4现在变成$1,原来的$5现在变成$2等等,原来的$1、$2、$3丢弃,$0不移动。

6> 该脚本存在一个隐患,即文本文件的行有最大的字符限制。但将作为输入参数个数进行测试时,没有问题,说明文本文件一行还是能容纳相当数量的字符。

PS: 在监测2.test的结果时,我们可以用watch cat 2.test,即每两秒查看一下2.test的内容,但该法有个弊端,数据较多时,无法在一个屏幕中显示,它只会显示前面固定的数据,新增的数据不会显示,但在该例中,我们更加关心的是数据是否增加。如下脚本可实现该功能:

Shell脚本中判断输入参数个数的方法 $#代表了命令行的参数数量,可以看以下实例:if[$#!=1];thenecho"USAGE:$0TABNAME"echo"e.g.:$0CDR_CALL_"exit1;fi位置参数$1,$2,...,$N,$#代表了命令行的参数数量

Shell脚本中判断输入变量或者参数是否为空的方法 1.判断变量read-p"inputaword:"wordif[!-n"$word"];thenecho"youhavenotinputaword!"elseecho"thewordyouinputis$word"fi2.判断输入参数#!/bin/bashif[!-n"$1"];thenecho"youhavenotinputaword!"elseecho"

Shell脚本IF条件判断和判断条件总结 前言:无论什么编程语言都离不开条件判断。SHELL也不例外。iflistthendosomethinghereeliflistthendoanotherthinghereelsedosomethingelseherefiEX1:#!/bin/shSYSTEM=`uname-s`#获取操作

标签: shell可以多线程吗

本文链接地址:https://www.jiuchutong.com/biancheng/379817.html 转载请保留说明!

上一篇:Python执行Linux系统命令的4种方法(python中执行linux命令)

下一篇:Shell脚本中判断输入参数个数的方法(shell脚本中判断字符串是否相等)

  • 委托加工业务中,委托方是纳税义务人
  • 独立法人有什么风险
  • 应付账款周转率和存货周转率公式
  • 权益工具是金融资产还是所有者权益
  • 建筑设备租赁如何确定租赁期限
  • 固定资产无法使用不能带来经济利益是否需计提租金
  • 信用减值损失借贷方表示什么意思
  • 公司代个人收承兑汇票
  • 纳税人经营所得预缴申报表怎么填
  • 长期股权投资的账务处理
  • 销售之后发生销货折让收到红字发票如何做账?
  • 每个月固定发工资
  • 支付结算有哪些工具
  • 代扣个税手续费返还怎么申请
  • 审工资的流程
  • 需不需要计提增值税发票
  • 银行手续费要发票什么时候开始的
  • 津贴证明是让单位开吗
  • 工程竣工结算审查期限
  • 无偿使用房屋
  • 出租房屋如何确认收入
  • 营销策划费用计算公式
  • 苹果电脑设置壁纸为什么重启就没了
  • PHP mysql_result()函数使用方法
  • 电脑打字不显示文字选项
  • win7怎么添加设备
  • 对公转账存款
  • 可以转增资本的有哪些科目
  • 购买材料支出属于资本性支出吗
  • 正常损失非正常损失
  • 工业企业销售收入和产值,税金比例
  • 长期挂账的其他应付款转营业外收入情况说明
  • PHP:imagecreatefromwebp()的用法_GD库图像处理函数
  • 斯诺多尼亚山
  • 拉贾安帕特群岛地图中文版
  • vue侧边栏导航,右侧显示对应内容
  • 制作个性化的奖杯或者奖状
  • 行政事业单位怎么开发票
  • Midjourney之外21款免费的AI Image画图网站集合
  • 维修费成本怎么结转
  • 微信小程序上面有个音乐怎么关闭
  • thinkphp钩子场景
  • java 读写锁 map
  • 如何用python给excel每一行添加序号
  • mongodb集群开启auth认证
  • 汇算清缴需要做账吗
  • 视同销售的增值税怎么申报
  • 出售长期股权投资
  • 资产减值损失的借贷方向
  • 金税盘和报税盘一起用吗
  • 售后回购融资租赁的会计处理
  • 低值易耗品属于资产类账户吗
  • 费用本期发生额怎么算
  • 外资企业取得合法地位
  • 行政单位工会经费
  • 亏损合同预计负债
  • 手机发票计入什么科目
  • 企业自查补交增值税
  • 微信和支付宝的区别
  • 固定资产暂估入账的税务处理
  • Linux服务器中MySQL远程连接的开启方法
  • win8怎么一开机就进入桌面
  • 还原精灵使用教程
  • mac的虚拟机
  • microsoft skypeapp
  • win10系统回收站损坏了怎么恢复
  • win7系统如何创建管理员账户
  • win7系统的wlan在哪里?
  • ,linux
  • 边学边玩的游戏
  • ext.formpanel
  • opengl光线跟踪代码
  • 动作手游排行榜2020前十名
  • jquery的children方法
  • python toad
  • 事务所是干什么的会计
  • 宁波税务局网上办税服务厅
  • 三亚 税务
  • 广东税务app申报不小心点到了不再提示
  • 车辆购置税纳税申报表下载
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设