技术标签: shell
在写shell脚本的时候一直报错未找到命令,脚本如下:
#!/bin/bash
in_date=$1
if [ ! $in_date ]; then
yesterday=`date -d "yesterday" '+%Y%m%d'`
yesterday1=`date -d "yesterday" '+%Y-%m-%d'`
else
yesterday=$in_date
yesterday1=`date -d "$in_date" '+%Y-%m-%d'`
fi
echo $yesterday
echo $yesterday1
time1="$yesterday1 00:00:00"
echo $time1
res=999
if [ $res -le 1000 ]
then
echo $res
warn1="警告:" $time1 "抽取数据量小于1000,请核实!"
echo warn1
fi
echo "警告:" $time1 "抽取" $var"条数据"
只看逻辑不看细节还真的找不到错误,在shell中=号两边没有空格是表示赋值,有空格表示比较。而且中括号也要有空格。if条件中括号里面两边要有空格,由于if条件语句中"warn1=“警告:” t i m e 2 " 抽 取 数 据 量 小 于 1000 , 请 核 实 ! " " 是 赋 值 操 作 , 所 以 time2"抽取数据量小于1000,请核实!""是赋值操作,所以 time2"抽取数据量小于1000,请核实!""是赋值操作,所以time2左边有空格是错误的,而"echo “警告:” $time2 “抽取” $var"条数据""不是赋值操作,只是输出字符串,所以不会报错。
正确的shell脚本应该是:
#!/bin/bash
in_date=$1
if [ ! $in_date ]; then
yesterday=`date -d "yesterday" '+%Y%m%d'`
yesterday1=`date -d "yesterday" '+%Y-%m-%d'`
else
yesterday=$in_date
yesterday1=`date -d "$in_date" '+%Y-%m-%d'`
fi
echo $yesterday
echo $yesterday1
time1="$yesterday1 00:00:00"
echo $time1
res=999
if [ $res -le 1000 ]
then
echo $res
warn1="警告:"$time1"抽取数据量小于1000,请核实!"
echo warn1
fi
echo "警告:" $time1 "抽取" $var"条数据"
介绍Object-C 是一个为苹果IOS 和OS X系统编写程序的语言。它能够编译和构建命令行功能、GUI、领域框架的通用语言。他也提供了很多的功能帮助维护复杂的应用。 像C++一样,Object-C也是在C语言的基础上添加了面向对象的特性,但是两种语言完整这个目标,采用了明显不同的基础哲学。Object-C明显更加的偏向动态语言,推迟它的决定到运行时,而不是编译时。这个表现在IOS 和 OS X
一、环境介绍MCU: STM32F103ZET6代码开发工具: Keil5TCP/IP协议栈: LWIP网卡: DM9000本篇文章主要讲解如何在STM32F103工程里添加移植LWIP协议,最终完成TCP服务器、TCP客户端的通信测试。 网卡采用的是DM9000,工程代码中,采用STM32的FSMC接口来驱动DM900网卡,DM9000是并口网卡,引脚多,但是速度快,也可以采用其他网卡,SPI协议的、UART协议的等。 比如:W5500。 因为主要是讲LWIP协议栈的移植,所以网卡相关
[CustomEditor(typeof(TestItemC))]public class TestItemEditor : UnityEditor.Editor { int selGridInt = 0; string[] selStrings = {"radio1", "radio2", "radio3", "radio4"}; public override void OnInspectorGUI() { base.OnInspectorGUI.
1、模块化说明:模块化是指将一个很大的程序文件,拆分为许多个小的文件,然后将多个小文件组合起来(1)模块化的好处:① 阻止命名冲突; ② 代码复用; ③ 高维护性(2)ES6 模块化语法:① export 命令:用于规定模块的对外接口② import 命令:用于输入其他模块提供的功能(3)export 暴露方式,3种:1、第一种暴露方式:分别暴露 // 1. 分别暴露, m1.js, m1.js export let school = 'gc'; export fun_1671465600
1、超级用户PostgreSQL最大权限的用户就是超级用户,这个超级用户可以在数据库中做任意的操作,无任何的限制。当初使化数据库后,自动有会有一个超级用户,通常这个超级用户的名称与初使化数据库时的操作系统用户名相同。建PostgreSQL数据库实例时,一般我们会在操作系统上如果我们在操作系统用户pg001下执行initdb初使化PostgreSQL数据库的,则建出的数据库中有一个名称为pg001的超级用户。使用这个初使的超级用户可以建其它的超级用户或普通用户,所以一个数据库中可以有多个超级用户。2、
在实验吧看到一道编程题 http://ctf5.shiyanbar.com/jia/在三秒钟的时间内,计算出这个大数,而且三秒必须完成获取和提交数据的任务。刚开始写了一个程序:每次把这个字符复制过来,然后再把结果粘回去。后来我发现,手速这个东西,我可能没有。然后想了想能不能使用python的requests库结合正则表达式来做呢?答案是肯定的。由于之前没有接触过requests库,就先看看官方文...
我们都知道ae和pr是两款视频处理软件,一个侧重于后期制作,而另一个是进行视频剪辑处理的。它们各有所长,但是,如果能够两者结合使用的话,肯定能够做出更加完美的视频处理效果。那么,它们是可以联动、建立动态链接的你知道吗?如果你还不知道有这种操作,那么就赶快一起看一看、学一学吧!或许能够对你有所帮助和启发!1、首先,我们打开premiere软件,导入我们需要处理的视频素材,我们把想要链接到ae进行编辑...
Android 9.0 Wifi开启执行流程代码具体执行流程:WifiManager.java路径:framework/base/wifi/java/android/net/wifi/WifiManager.javaWifiManager.setWifiEnabled()设置WIFI开启。WifiServiceImpl.java路径:/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiServiceI
当前revit 建筑模型软件导出的模型对象 three.js的json文件,都是面法线。(暂时是这样的,是否能导出顶点法线,后续确定)。 unreal 显示总是发现不对,要么该光照的没关照,或者直角面,背光处却透光了。开始未给定法线,经过对比分析,应该是法线没对。于是打算加入指定的法线。 1、为什么开始没给定法线?在测试自定义的模型时候,不给定法线,仍然可以显示物体。而且默认情...
我有三个大名单。 前一个包含位数组(模块位数组0.8.0),其他两个包含整数数组。l1=[bitarray 1, bitarray 2, ... ,bitarray n]l2=[array 1, array 2, ... , array n]l3=[array 1, array 2, ... , array n]这些数据结构占用大量RAM(总计约16GB)。如果我使用以下方法启动12个子流程:mu...
重温下CPU是什么 中央处理单元(CPU)主要由运算器、控制器、寄存器三部分组成,从字面意思看运算器就是起着运算的作用,控制器就是负责发出CPU每条指令所需要的信息,寄存器就是保存运算或者指令的一些临时文件,这样可以保证更高的速度。 CPU有着处理指令、执行操作、控制时间、处理数据四大作用,打个比喻来说,CPU就像是我们的大脑,帮我们完成各种各样..._1671465600
目录1. stack1.1 stack概述1.2 stack 完整定义1.3 以list作为stack的底部容器2. queue2.1 queue概述2.2 queue 完整定义2.3 以list作为queue的底部容器1. stack1.1 stack概述stack是一种先进后出(First In Last Out,FILO)的数据结构,它只有一个出口。stack允许新增元素,移除元素、取得最顶端元素,但不允许有遍历行为。由于stack系以底部容器完成其所有工作