【shell-script – 如何在shebang中使用环境变量?】教程文章相关的互联网学习教程文章

编写一个Shell,批量建立用户,设置随机密码【代码】

#!/bin/bash # Author: 电脑程序爱好者 # Date & Time: 2021-04-26 10:03:59 # Description:for i in test{1..5}; douseradd $ipass=$(date +%s | md5sum | cut -c 1-8) # 建立随机密码sleep 1secho "$i:$pass" >>/tmp/passwd.logecho "$pass" | passwd --stdin $i #echo "$i:$pass" | chpasswd # for ubuntu OSif [ $? -eq 0 ] ; thenecho "create user successfully! user:$i,password:$pass"elseecho "failed to create user."f...

shell脚本练习1创建目录和文件

输入一个目录,判断是否存在,如果不存在则给出提示,如果存在则提示输入要创建的文件名,判断创建的文件是否存在,如果不存在,则继续创建,否则提示改文件已存在,用函数实现#bin/bashcreatefile(){ cd $1 read -p "请输入文件名" filename if [ -f "$filename" ] then echo "文件已存在" else echo "开始创建文件" touch $filename echo "创建完成" fi} read -p "请输入一个目录" dirif [ -d "$dir" ]then createfile $direlse echo...

shell中的判断

[ -a file ] 如果 file 存在则为真。 [ -b file ] 如果 file 存在且是一个块特殊文件则为真。 [ -c file ] 如果 file 存在且是一个字特殊文件则为真。 [ -d file ] 如果 file 存在且是一个目录则为真。 [ -e file ] 如果 file 存在则为真。 [ -f file ] 如果 file 存在且是一个普通文件则为真。 [ -g file ] 如果 file 存在且已经设置了SGID则为真。 [ -h file ] 如果 file 存在且是一个符号连接则为真。 [ -k file ] 如果 file 存...

转一篇shell中关于各种括号的讲解

shell中各种括号的作用()、(())、[]、[[]]、{} 一、小括号,圆括号()1、单小括号 () ①命令组。括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用。括号中多个命令之间用分号隔开,最后一个命令可以没有分号,各命令和括号之间不必有空格。 ②命令替换。等同于`cmd`,shell扫描一遍命令行,发现了$(cmd)结构,便将$(cmd)中的cmd执行一次,得到其标准输出,再将此输出放到原来命令。有些...

创建你的第一个shell脚本

什么是shell脚本?shell脚本是Linux和Unix编程环境的基本组成部分。shell脚本有以下几部分组成:shell关键字:if else for do doone...shell命令:export echo exit pwd return....Linux命令:mkdir ls date....文本处理功能:awk cut send grep函数:通过函数把一些常用功能放一起控制流语句:if....then...else或执行循环重复操作的shell脚本。为什么使用shell脚本?使用简单,节省时间,可以把冗长的重复的一串命令合并成一条简...

Shell脚本的学习笔记二:字符串【代码】

菜鸟教程提供的Shell在线编辑器 Shell 字符串项目 功能单引号 原样输出,变量无效。但可用成对单引号嵌套成对单引号输出变量双引号 定义字符串中附带有变量的命令并且想将其解析后再输出的变量。1. 单引号 #!/bin/bash test='Try to do it.' echo 'I say ${test}' #**[代码1]** #echo ' \' ' #使用转义字符会报错,**[代码2]** echo 'I say '${test}'' #**[代码3]** 单引号字符串的限制:单引号里的任何...

Shell命令操作【代码】

HDFS的基本命令 命令格式: hdfs dfs -操作命令 参数1、 创建存放数据文件的目录 (1) 列出目录结构 hdfs dfs –ls 目录路径`例:查看HDFS根目录下的文件 hdfs dfs –ls /(2) 创建文件夹 hdfs dfs –mkdir 文件夹名称 hdfs dfs –mkdir -p 多层文件夹名称例:在根目录下创建HDFSShell文件夹,用来存放数据文件 hdfs dfs –mkdir /HDFSShell2、 将数据上传到HDFS并进行管理 (1) 上传文件 hdfs dfs –put | copyFromLocal | mo...

shell【代码】

Shell脚本实现ros 相关参数输出 for i in `rosparam list | grep /cmd_vel` doecho $i ,':::', $(rosparam get $i) done实现文件名输出 for i in `ls /home` dofile_name='gqy'if [ $i == $file_name ]thenecho $i fi done守护进程 #! /bin/sh #进程名字可修改 PRO_NAME=udhcpc WLAN=ra0while true ; do# 用ps获取$PRO_NAME进程数量NUM=`ps aux | grep ${PRO_NAME} | grep -v grep |wc -l` # echo $NUM # 少于1,重启进程...

shell基础练习题

shell 基础练习题 1、编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小 #!/bin/bash echo -e "\e[1;35mThis computer is hosted by: \e[0m" hostname echo " " echo -e "\e[1;35mMy ip addr is:\e[0m" ifconfig | sed -n '2p'|sed -r 's@.*inet (.*) net.*@\1@' echo " " # echo -e "\e[1;35mMy OS version is:\e[0m" cat /etc/cent...

SHELL监控网站SSL证书有效期

#/bin/bash host=$1 port=443 end_date=`openssl s_client -servername $host -host $host -port $port -showcerts </dev/null 2>/dev/null | sed -n /BEGIN CERTIFICATE/,/END CERT/p | openssl x509 -text 2>/dev/null | sed -n s/ *Not After : *//p` if [ -n "$end_date" ] then end_date_seconds=`date +%s --date "$end_date"` # date指令format字符串时间。 now_seconds=`...

第二篇:STM32F103C8T6移植Rt_thread(内置 oled、双串口、shell、AM2302,print 等驱动)【图】

首先打个广告:如果需要做毕设以及嵌入式项目合作,欢迎进入我们工作室:创想嵌入式设计工作室 一边看《扶摇》,一边写博客 ,两不误。 最近在做一个嵌入式开发项目,需要用到双串口,出于实时性考虑,需要实时操作系统,同时基于成本和工作量的要求,最终 敲定的 方案时rt_thread+STM32F103C8T6,之前 从没有在STM32上移植过rt_thread,本想图省事,想着在网上 下载一个DEMO,改改直接用,可是 ,遗憾的是,网上关于移植rt_...

Shell编程—sed进阶【代码】

1多行命令 sed编辑器包含了三个可用来处理多行文本的特殊命令。N:将数据流中的下一行加进来创建一个多行组来处理。 D:删除多行组中的一行。 P:打印多行组中的一行。1.1next命令 1. 单行的next命令 小写的n命令会告诉sed编辑器移动到数据流中的下一文本行,而不用重新回到命令的 开始再执行一遍。$ cat data1.txt This is the header line.This is a data line.This is the last line. $ $ sed /^$/d data1.txt This is the head...

Xshell启动时显示丢失MSVCP110.dll【图】

重装系统,装完Xshell5启动时,出现丢失MSVCP110.dll文件这种情况不要相信网上所说的什么下载“MSVCP110.dll”文件或者下载微软的vcredist 2012这样没用正确的姿势是这样的打开Xshell5的安装目录找到LiveUpdate文件点击一直下一步重新安装重新装完之后Xshell就可以正常启动了原文:http://www.cnblogs.com/answer-liu/p/6441379.html

shell 删除除匹配字符串之外的所有文件夹【代码】

file_dir=`find 目录 -mindepth 1 -maxdepth 5 - type d`for dir in $file_dirdo   file_name=`basename $dir`  if [ $file_name != "目标文件名" ];then    rm -rf $dir    if [ $? != 0 ];then      echo "未删除成功!"      exit -2    fi  fidone

shell grep 查找进程的小技巧

大部分人在写Shell 过滤进程的时候 都会使用 grep 在 ps aux 的输出结果中查找指定的进程,但此时也会把 grep 进程也显示出来 比如查找 pptpd 进程,会匹配出来两条: 复制代码 代码如下:[root@selboo ~]# ps aux | grep pptp root 20191 0.0 0.2 5108 704 pts/2 R+ 16:58 0:00 grep pptp root 22054 0.0 0.1 1952 608 ? Ss Oct22 0:00 /usr/sbin/pptpd 常见的防止grep进程出现的方法就是在对加一个管道 grep -v grep 进行过滤: 复...