Shell基本用法
2022/7/13 5:20:20
本文主要是介绍Shell基本用法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录- 一、shell变量
- 1、定义变量
- 2、使用变量
- 3、使用语句给变量赋值
- 4、只读变量
- 5、特殊变量
- 二、获取日期
- 三、循环语句和条件语句
- 1、遍历上个月的每一天
- 2、判断程序终止
- 四、获取目录下最新的文件名称
- 五、常用命令
- 六、参考链接
一、shell变量
1、定义变量
变量名和等号之间不能有空格
your_name="runoob.com"
2、使用变量
在变量前加$符号(必选),使用花括号确定边界(可选)
echo ${your_name}
3、使用语句给变量赋值
将/etc目录的文件名循环出来
for file in `ls /etc` 或 for file in $(ls /etc)
4、只读变量
myUrl="https://www.google.com" # readonly myUrl myUrl="https://www.runoob.com" #此处变量修改失败
5、特殊变量
$#:shell脚本执行的时候传递参数的个数 $?:上一条命令执行成功之后的返回值 $@:所有的参数 $*:所有的参数 $1 $2 $3:第一个参数 第二个参数 第三个参数
二、获取日期
1、获取一个月前的当天 startDay=`date -d"$now last month" +%Y%m%d` 2、获取本月第一天 nowdate=`date +%Y%m01` 3、获取上个月第一天 startdate=`date -d"$nowdate last month" +%Y%m%d` 4、获取上个月最后一天 enddate=`date -d"$nowdate last day" +%Y%m%d` 5、获取今天 log=$(date -d "now" +%Y-%m-%d) echo ${log} 6、获取昨天(n天前同理) log2=$(date -d "1 day ago" +%Y-%m-%d) echo ${log2} 7、获取具体日期的前几天 log4=$(date -d"15 day ago 2017-04-16" +%Y-%m-%d) echo ${log4} 8、获取当前时间 echo "`date "+%Y-%m-%d %H-%M-%S"`---程序执行完成!---" 9、截取日期字符串 month=${startDay:0:6}
三、循环语句和条件语句
1、遍历上个月的每一天
#遍历上个月的每一天 while (( $startdate <= $enddate )) do echo $startdate startdate=`date -d "+1 day $startdate" +%Y%m%d` done
2、判断程序终止
获取传参
#!/bin/bash day6 = $1 /usr/bin/spark-submit \ --master yarn \ --deploy-mode cluster \ --executor-memory 8G \ --executor-cores 2 \ --num-executors 100 \ --driver-memory 16G \ --driver-cores 4 \ --name SYSK_BadEciCombine \ --class com.migu.scala.combine.BadEciCombine \ /home/laizhengyang/new_2.jar \ $day10 \ $day6 if [ $? == 0 ]; then echo "`date "+%Y-%m-%d %H:%M:%S"`---质差小区合并作业:$day10 $day6,执行完成!" hadoop fs -du -h /home/sysk_test/output_eci/badEci fi elif [ 判断语句 ];then 处理语句 else echo "不满足质差关联的结束时间:$day6" fi
四、获取目录下最新的文件名称
hdfs指定目录排序,获取最新文件,按‘/’分割取第六个位置的文件名
day_time=`hadoop fs -ls -t -C /home/sysk_test/output/user_order | head -1 | cut -d '/' -f 6` echo $day_time
五、常用命令
1、crontab
2、ftp上传下载:mput mget ,prompt off关闭主动模式
3、查找字符串:grep -rnR "target" *
4、文件大小:du -lh --max-depth=1
六、参考链接
1、Shell获取上一个月、星期的时间范围 - 北京流浪儿 - 博客园 (cnblogs.com)
这篇关于Shell基本用法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15鸿蒙生态设备数量超8亿台
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?