Shell小结

【四季发财中线】通达信炒股指标副图指标使用图文教程,短线紫色柱线操作,与中线短柱线共振抓牛股妖股主升浪 如上图标记位置,对应的是副图指标的紫色柱线开始的位置,这个紫色柱线信号开始出现,也是短线进场做多的信号,紫色柱线的持续出现和加长,可以持股待涨,或行情继续上涨的可以在分时行情中逢低进场短线顺势做多。如上图标记部分,指标的主要部分信号,三行柱线-ZR-ZC -ZM,当出现这三行信号时,中线或波段看多做多,信号持续则中线顺势做多和持股待涨。不论是跟踪信号的出现先后进场和持股,或是在中线多头的行情中,找到短线转多信号进场做安全的短线操作机会,都是非常好的指标信号和辅助操作功能。 阅读详情

1.数字计算
declare -i num=10
while [ $num -ne 0]
do
 num=num-1
done

num=10
while [ $num -ne 0]
do
 let 'num -= 1'
 #let 'num = num -1'
 #num=`expr $num -1`
 (( num-- )) #用(( )) 可以使用类C风格的计算式,注意算式两边要加空格(( t = a<457:11))
done

let 'num = $RANDOM % 6 + 1'

2.读入文件
while read line
do
 echo $line
done<filename

#读入一下目录下所有文件,所打印出来
FILES='ls'
for file in $FILES
do
 while read word
 do
  echo $word
 done<$file
done
3.for循环
for name in "derry china" "daisy usa" "jintaiqi korea"
do
 echo $name
done

#显示一下目录下以sh结尾的文件
for file in *[sh]
do
 ls -lh $file
done

for ((a=1,b=1; a<=LIMIT; a++, b++))
do
 echo -n "$a-$b"
done

4.while循环
i=0
while ($i < 10)
#while [ "$i" -lt 10 ]
do
 echo $i
 #((i++))
 #i=`expr $i + 1`
 let "i += 1"
done

#读入所有命令行参数
while [ $# -gt 0 ]
do
 echo $1
 shift
done

5.until循环
i=0
until ((i >= 10))
do
 echo $i
 ((i++))
done

6.case
read cmd
case "$cmd" in
 "quit" | "q" ) echo "quit"; exit 0;;
 "ls" ) `ls`;;
 "date" ) `date`;;
esac

7.常用函数
#检查是否全部字母输入
SUCCESS=0
FAILURE=-1
isalpha()
{
if [ -z $1]
then return $FAILURE
fi

case "$1" in
*[!a-zA-Z]*|"") return $FAILURE;;
*           ) return $SUCCESS;;
esac
}

#检查是否全部数字输入
isdigit()
{
[ $# -eq 1] || return $FAILURE

case $i in
*[!0-9]*|"") return $FAILURE;;
*          ) return $SUCCESS;;  
}

for param in 0 a 9 %
do
 if isdigit "$param"
 then echo "$param is digit"
 else echo "$param is not digit"
 fi
done
5.字符串操作
string=defabcdefxyz
len=`expr length string`
pos=`expr index $string abc`   #查找第一个字串的位置
str=`expr substr $string 2 6` #取指定位置的子串

6.文件包含
config.sh:
IP=192.168.0.1

read.sh
. config.sh
#source config.sh
echo $IP

7.test测试命令
test命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试,其测试符和相应的功能分别如下:

(1)数值测试:
-eq:等于则为真
-ne:不等于则为真
-gt:大于则为真
-ge:大于等于则为真
-lt:小于则为真
-le:小于等于则为真
(2)字符串测试:
=:等于则为真
!=:不相等则为真
-z 字符串:字符串长度伪则为真
-n 字符串:字符串长度不伪则为真
(3)文件测试:
-e 文件名:如果文件存在则为真
-r 文件名:如果文件存在且可读则为真
-w 文件名:如果文件存在且可写则为真
-x 文件名:如果文件存在且可执行则为真
-s 文件名:如果文件存在且至少有一个字符则为真
-d 文件名:如果文件存在且为目录则为真
-f 文件名:如果文件存在且为普通文件则为真
-c 文件名:如果文件存在且为字符型特殊文件则为真
-b 文件名:如果文件存在且为块特殊文件则为真
另外,Linux还提供了与(“!”)、或(“-o)、非(“-a”)三个逻辑操作符用于将测试条件连接起来,其优先级为:“!”最高,“-a”次之,“-o”最低。
同时,bash也能完成简单的算术运算,格式如下:
$[expression]
例如:var1=2
var2=$[var1*10+1]
则:var2的值为21。

8.命令分组
在shell中有两种命令分组的方法:“()”和“{}”,前者当shell执行()中的命令时将再创建一个新的子进程,然后这个子进程去执行圆括弧中的命令。
当用户在执行某个命令时不想让命令运行时对状态集合(如位置参数、环境变量、当前工作目录等)的改变影响到下面语句的执行时,就应该把这些
命令放在圆括弧中,这样就能保证所有的改变只对子进程产生影响,而父进程不受任何干扰;{}用于将顺序执行的命令的输出结果用于另一个命令
的输入(管道方式)。当我们要真正使用圆括弧和花括弧时(如计算表达式的优先级),则需要在其前面加上转义符(/)以便让shell知道它们不是用于
命令执行的控制所用。

9.信号
trap命令用于在shell程序中捕捉到信号,之后可以有三种反应方式:
(1)执行一段程序来处理这一信号
(2)接受信号的默认操作
(3)忽视这一信号

trap对上面三种方式提供了三种基本形式:
第一种形式的trap命令在shell接收到signal list清单中数值相同的信号时,将执行双引号中的命令串。

trap 'commands' signal-list
trap "commands" signal-list

为了恢复信号的默认操作,使用第二种形式的trap命令:trap signal-list

第三种形式的trap命令允许忽视信号:trap " " signal-list

注意:(1)对信号11(段违例)不能捕捉,因为shell本身需要捕捉该信号去进行内存的转储。
(2)在trap中可以定义对信号0的处理(实际上没有这个信号),shell程序在其终止(如执行exit语句)时发出该信号。
(3)在捕捉到signal-list中指定的信号并执行完相应的命令之后,如果这些命令没有将shell程序终止的话,shell程序将继续执行收到信号时所执行的命令后面的命令,这样将很容易导致shell程序无法终止。
另外,在trap语句中,单引号和双引号是不同的,当shell程序第一次碰到trap语句时,将把commands中的命令扫描一遍。此时若commands是用单引号括起来的话,那么shell不会对commands中的变量和命令进行替换,否则commands中的变量和命令将用当时具体的值来替换。

10. bash的内部命令

1.eval 命令格式:eval args 功能:当shell程序执行到eval语句时,shell读入参数args,并将它们组合成一个新的命令,然后执行。
for i in ls df;
do
 ret=eval $i
 echo $value
done

2.exec 命令格式:exec 命令 命令参数
功能:当shell执行到exec语句时,不会去创建新的子进程,而是转去执行指定的命令,当指定的命令执行完时,该进程,也就是最初的shell就终止了,所以shell程序
中exec后面的语句将不再被执行。

#调用子进程
ret=`exec ./wait.sh`
#输出子进程返回值
echo $?
#输出子进程输出
echo $ret

3.export 命令格式:export 变量名 或:export 变量名=变量值
功能:shell可以用export把它的变量向下带入子shell从而让子进程继承父进程中的环境变量。但子shell不能用export把它的变量向上带入父shell。

注意:不带任何变量名的export语句将显示出当前所有的export变量。

4.wait
功能:是shell等待在后台启动的所有子进程结束。Wait的返回值总是真。
#!/bin/bash
eval ./wait.sh &
wait

5. 特殊参数
$*: 代表所有参数,其间隔为IFS内定参数的第一个字元
$@: 与*星号类同。不同之处在於不参照IFS
$#: 代表参数数量
$?: 执行上一个指令的返回值
$-: 最近执行的foreground pipeline的选项参数
$$: 本身的Process ID
$: 执行上一个背景指令的PID
$_: 显示出最後一个执行的命令

手把手搭建你的第一个OCT仿真模型:用Python和光学仿真库重现A-SCAN信号 本文详细介绍了如何使用Python和光学仿真库搭建OCT仿真模型,重现A-SCAN信号。从环境配置、干涉仪建模到信号处理全流程,手把手教你实现光学相干层析成像的核心技术。通过代码示例和性能优化技巧,帮助开发者深入理解OCT原理并应用于医疗诊断等领域。 阅读详情

相关推荐

ESP32-CAM入门教程

ArduinoESP32-CAM下载模块(接上USB就能用,很方便,如果没有买就只有资金用USB-TTL了)如下图两个合在一起如下图。

qq_48778364的博客 3万+

LSTM与XGBoost融合:时序预测中的特征提取与集成学习实战

在机器学习和数据科学领域,时序预测是一个核心且具有挑战性的任务,它要求模型既能捕捉数据中的时间依赖关系,又能理解复杂的特征交互。循环神经网络(RNN)及其变体长短期记忆网络(LSTM)是处理序列数据的强大工具,擅长学习长期和短期的时序模式。另一方面,集成学习算法如极限梯度提升树(XGBoost),以其卓越的处理结构化数据能力、对非线性关系的高效建模以及优秀的预测精度而闻名。将LSTM的时序建模能力与XGBoost的特征交互学习能力相结合,构成了一个强大的两阶段流水线模型。这种组合的核心技术价值在于优势互补:

weixin_30706691的博客 407

【08】C#实战篇——C#调用C++ 动态库dll,报错 “无法加载DLL“xxx.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。”

摘要: 本文详细分析了C#调用C++封装的DLL时出现“无法加载DLL”错误的排查与解决方法。通过案例演示,列举了常见原因(如平台不匹配、路径错误、依赖缺失等),并重点介绍了使用VS的dumpbin工具检测DLL依赖项的方法。最终定位问题为缺失依赖的LineApi.dll和opencv_world455d.dll,将其放入C#的exe目录后解决。文章还对比了C++与C#的报错差异,提供了通用解决方案,包括检查运行时库、环境变量等,帮助开发者高效解决类似问题。 关键词: C#调用C++ DLL、dumpbin

程序员,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。 2098

linux 循环while,linux命令:while循环

while命令简介:while循环:适用于循环次数未知的场景,要有退出条件,否则就成为死循环。1.命令格式:语法:while CONDITION; dostatement...done2.命令功能:while循环:适用于循环次数未知的场景,要有退出条件,否则就成为死循环。3.命令参数:while CONDITION; do condition:进入循环的条件statement.....

weixin_32932149的博客 1万+

2026年数字IC设计华为笔试带答案解析

这篇文章是一份数字IC设计工程师笔试的试卷结构和部分题目解析。试卷包含单选题31题(每题2分)、多选题10题(每题4分)和简答/编程题4题(每题7分),总分130分,考试时长120分钟。 摘要重点: 试卷涵盖数字IC设计的关键知识点,包括Verilog语法、时序逻辑、状态机设计、跨时钟域处理等; 题目解析详细说明了各选项的正确性,如非阻塞赋值特性(D错误)、功耗影响因素(C与组合逻辑级数弱相关)等; 包含实际工程问题,如DDR4接口电平(SSTL-1.2)、卡诺图变量排序(格雷码)等; 部分题目考察基础概念

Open 369

【ComfyUI】QwenImageEdit OOTD角色与姿态匹配换装

本文介绍了一个基于Qwen Edit OOTD 2.0的ComfyUI工作流,能够实现角色与姿态匹配的智能穿搭生成。该工作流通过整合模型推理、姿态识别、图像拼接和渲染等节点,完成从角色图、姿态图到成品穿搭图的完整生成流程。核心采用Qwen Image系列模型进行图像理解和编辑,配合ControlNet进行姿态引导。用户只需提供角色图和姿态参考图,系统即可自动完成姿态解析、语义编码、采样生成等步骤,输出与输入姿态一致的穿搭图像。该方案适用于虚拟角色展示、电商试穿等场景,能保持角色特征一致的同时灵活变换姿态,显

Mr数据杨 1586

Shell 脚本学习笔记-基础

Shell 脚本学习笔记【持续更新】

kaiyuanheshang的博客 911

LSTM+Transformer混合模型时间序列预测实战教学

LSTM+Transformer混合模型时间序列预测实战教学 毕业设计

8219

linux系统while循环,linux命令:while循环(示例代码)

while命令简介:while循环:适用于循环次数未知的场景,要有退出条件,否则就成为死循环。1.命令格式:语法:while CONDITION; dostatement...done2.命令功能:while循环:适用于循环次数未知的场景,要有退出条件,否则就成为死循环。3.命令参数:while CONDITION; do condition:进入循环的条件statement.....

weixin_28957063的博客 2867

TC3XX - MCAL知识点(四十二):AURIX™ TC3xx实现多相电机需要多核配合使用的场景与实操分析

本文探讨了多相电机控制系统中的关键技术问题,重点分析了多核处理器在电机控制中的应用。针对十二相电机等复杂应用场景,提出了同步采样、多核协同等解决方案。文章详细阐述了相电流同步采样原理及EBTresos配置方法,分析了ADC硬件触发机制和多核配合策略。通过Core0和Core1的协同工作设计,解决了位置信息采集与FOC算法执行的时序问题,并提供了代码实现示例。实验验证了采用ATOM0_7同时触发两个核ADC中断的可行性,为多相电机控制系统的实现提供了技术参考。

梦想技术家 497

YOLO项目部署:从Python脚本到Docker容器的企业级交付全流程

YOLO模型企业级Docker部署方案 核心挑战 环境一致性:解决"本地能跑,服务器崩掉"问题 可扩展性:支持单实例到多实例扩展 稳定性:确保99.9%可用性 部署流程 项目改造:模块化代码,分离配置 Docker镜像:支持CPU/GPU环境 API服务:封装推理逻辑 监控告警:实现自动化运维 技术方案 需求 解决方案 环境一致性 Docker镜像+依赖冻结 可扩展性 K8s+负载均衡 稳定性 健康检查+自动重启 项目结构 模块化代码组织 外部化配置管理 精确依赖版本控制 摘要重点:通过

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1230

shell 判断参数是否存在

if [ -$# -lt 1 ]; then echo 没有命令行参数 fi if [ x"$parm" = x ]; then echo 参数parm不存在或者为空值 fi if [[ -z "$parm" ]]; then ...

旋转的紫色星系 1万+

【LSTM回归预测】attention机制LSTM时间序列回归预测【含Matlab源码 1992期】

attention机制LSTM时间序列回归预测 完整的代码,方可运行;可提供运行操作视频!适合小白!

订阅付费专栏Matlab(奶茶价版),可赠送奶茶价版付费专栏指定代码1份; 2591

Shell 脚本入门学习小结

Linux Shell 脚本基本知识:包括执行、变量、控制流、函数的基本使用,帮助大家快速写出自己的第一个shell脚本.

qq_35754154的博客 505

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

shell小结

一、什么是shell Shell是对操作系统的操作,操作系统进行管理硬件,开发人员通过Shell来和操作系统交流,通过操作系统的命令和操作系统之上的库,以及一些暴露的系统调用进行交流。 Shell又称命令解释器,它能识别用户输入的各种命令,并传递给操作系统。它的作用类似于Windows操作系统中的命令行,但是,Shell的功能远比命令行强大的多。在UNIX或者localhost中,Shell既是用户交互的界面,也是控制系统的脚本语言。 Shell是基于命令的语言,Shell脚本语言。 Shell常常用来处理

JiaGeYa的博客 458

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Shell学习小结

Linux发展史

dont_give_up的博客 307

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

python调用shell命令-python中执行shell命令的几个方法小结

最近有个需求就是页面上执行shell命令,第一想到的就是os.system,复制代码 代码如下:os.system('cat /proc/cpuinfo')但是发现页面上打印的命令执行结果 0或者1,当然不满足需求了。尝试第二种方案 os.popen()复制代码 代码如下:output = os.popen('cat /proc/cpuinfo')print output.read()通过 os....

weixin_37988176的博客 239

shell数组小结

不知道 是什么时候写的东西,整理文档时被考古发现,给那些闲着蛋疼之人,一笑而过吧。如果本文中的错误给您带来所有的精神损失,请找保险公司理陪!当然你可以告诉我 (倾诉)shell数组小结 数组作为一种特殊的数据结构在任何一种编程语言中都有它的一席之地,当然bash shell也不例外。本文就shell数组来做一个小的总结。 在这里只讨论一维数组的情况,关于多维数组(事实上,你得用一维数组的方

hu330459076的专栏 649

Shell脚本小结

Shell 小结 1. 打开文本编辑器(可以使用 vi/vim命令来创建),新建一个test.sh,扩展名为sh(sh 代表shell), 例如: #!/bin/bash echo "Hello world" #! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种shell 运行Shell脚本的两种方法: ...

fan_bigdata的博客 267

Shell 循环语句用法小结

在写shell脚本时,常常会用到循环语句。这里简单总结下常用的3种循环语句,以便以后能快速地参考写出【哎,最近脑子不太好使了,在多种语言交叉编程时,常常切换不过来,犯低级错误】,废话不说,开始demo: 1、for           主要用于:在已知序列里遍历元素 #! /bin/sh - if [ $# -ge 1 ]; then path=$@ els

心灵净土 2929

shell 命令小结

1.Shell 既是一种命令语言,又是一种程序设计语言 2.Shell 脚本(shell script),是一种为 shell 编写的脚本程序 3.shell脚本第一行: #!/bin/sh 4.shell变量: #注意: 变量名和等号之间不能有空格 my_name="Peanut" #使用变量时,在变量名前加上$ echo $my_name #只读变量 readonly my_name #删除...

夏天的风 250

shell脚本小结

shell脚本小结

xingfu9966(我爱笨笨) 871
上一篇: top命令详解
下一篇: linux网络参数解析
nellson
博客等级 码龄20年 48粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值