首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Shell 脚本执行语法检查调试模式

文章目录 shell 脚本调试系列 概述 启用 verbose 调试模式 在 Shell 脚本启用语法检查调试模式 通过修改脚本首行来启用脚本检查 内置 set 命令来在脚本启用调试模式 shell...脚本调试系列 Linux 启用 Shell 脚本调试模式 在 Shell 脚本执行语法检查调试模式 在 Shell 脚本中跟踪调试命令执行 ---- 概述 ?...写完脚本后,建议在运行脚本之前先检查脚本语法,而不是查看它们输出以确认它们是否正常工作。 在本系列这一部分,我们将了解如何使用语法检查调试模式。...: $ chmod +x script.sh 我们可以执行脚本并显示它被 Shell 读取到每一行: $ bash -v script.sh ---- 在 Shell 脚本启用语法检查调试模式 回到我们主题重点...,我们只检查脚本 for 循环语法。

1.8K20
您找到你想要的搜索结果了吗?
是的
没有找到

shell脚本之---系统用户检查

前几天咱们出品了一个批量创建和删除用户脚本,深受广大群众喜爱(我意淫。。) 那么这几天咱们领导又TM有了新需求,要求检查服务器创建用户权限。...当然这种工作波哥是不可能总让我去看。波哥怎么可能给他看着玩意?但是工作还得做,所以就又写了个简单脚本检查系统用户相关权限。给需求方,让他们自己查去吧!别烦我!~ 那就一起看看效果吧!...执行脚本输入你要查询用户名,然后会给下相应权限信息。当然还可以加哦! 小小脚本里面还是有很多有用信息。用不是目的。而是你们要学会如何写,如何摆脱那些琐碎而重复工作,抽时间去创新和学习。

37030

shell脚本】$ 在shell脚本使用

shell脚本 '$' 与不同符号搭配其表示意义也会不同 特殊标志符 含义 $0 当前脚本文件名 $n 传递给脚本或函数参数。n 是一个数字,表示第几个参数。...例如,第一个参数是$1,第二个参数是$2 $# 传递给脚本或函数参数个数 $* 传递给脚本或函数所有参数 $@ 传递给脚本或函数所有参数 $?...上个命令退出状态 $$ 当前Shell进程ID $() 与 `(反引号) 一样用来命令替换使用 ${} 引用变量划分出边界 注释:$* 和 $@ 都表示传递给函数或脚本所有参数,不被双引号(" "...)包含时,都以"$1" "$2" … "$n" 形式输出所有参数。...但是当它们被双引号(" ")包含时,"$*" 会将所有的参数作为一个整体,以"$1 $2 … $n"形式输出所有参数;"$@" 会将各个参数分开,以"$1" "$2" … "$n" 形式输出所有参数

6.1K20

shellif语句_shell脚本if判断

/bin/bash #当判断$1为空时,($1)就是脚本第一参数,当用户不给参数时候,$1是空时候,那么屏幕就会显 示脚本用法是错误 if [ -z "$1" ];then #-n 意思是不换行...,不回车,两个echo分别会用两个颜色显示,但最终会在同一行显示,因为第一个echo没有换行 echo -n "用法:脚本 " echo -e "3[35m域名或IP" exit fi #c...[ $a -lt $b ]; then echo "猜小了" else echo "猜大了" fi echo 示例1脚本因为每次执行都会变为随机数,所以该脚本并未完善, 后续会进一步完善该脚本...总结 ● if语法格式 需要非常熟悉if语法格式,在编写任合具体脚本案例之前首先要熟悉掌握if语法格式if开始fi结尾,当then和if在同一行时候需要使用“;”分号 当不在同一行时候可以直接输入...,就可以做一个else,在前面的条件都不能满足情况下,就统一认为符合最后一种情况,执行最后一个命令 ● 判断用户输入字串是否为空 判断用户输入字串是否为空有效防止脚本异常 ● 检测主机连通性

1.9K10

实用代码| shell脚本实现定时检查应用状态

阅读本文大概需要5分钟 有时候,我们挂在服务器上应用会因为一些特殊情况挂掉,致使项目经理又对我们说:又挂了!赶紧去看看! 于是有了以下脚本,使用shell编写,用于定时检查应用情况,挂掉则重启。...根据以下步骤即可实现: 1.创建并编辑脚本 vim test.sh 2.复制以下脚本内容至.sh文件 #自动检测某个tomcat状态(w精确匹配 v去除某种进程 awk数据处理 print $2 打印第二列...ps -ef |grep -w 'apache-tomcat-7.0.81'|grep -v 'grep'|awk '{print $2}') # tomcat启动程序(这里注意tomcat实际安装路径...chmod +x test.sh 4.测试脚本是否报错 sh test.sh 若无任何输出,则说明该脚本无错误 5.设置linux定时器 进入定时器编辑 crontab -e 添加以下文本 */5...* * * * /usr/local/zhangwk/test.sh 保存退出 注:根据脚本实际路径填写,这里意思是每隔五分钟执行一次 另外,还有一份实用代码,需要拿去:省市区级联查询(附最新省市区数据

1.2K20

在Bash shell脚本如何检查一个目录是否存在

问: 在 Bash shell 脚本什么命令检查某个目录是否存在?...答: 要检查目录是否存在,请执行以下操作: if [ -d "$DIRECTORY" ]; then echo "$DIRECTORY does exist." fi 一行代码形式则如下: [...如果不考虑符号链接到目录情况,后续命令可能无法按预期工作,因为符号链接也会通过这个检查。...在 Unix 早期设计,许多系统资源都被抽象为文件,以实现统一和一致接口处理,这样程序员可以使用相同系统调用来操作不同资源,如普通文件、目录、设备等。...这种哲学影响了许多 Unix-like 操作系统,包括 Linux。 这里顺便整理一下 Bash 对文件各种测试: -a file -- 如果文件存在则为真。

20610

shell脚本$符号意义

// shell脚本$符号意义 // 今天是远程办公第4天,渐渐找到了一点在家办公节奏了,改了几个shell脚本,在改动过程,发现还有一些知识点需要巩固,这里写出来,加深下印象。...关于$符号,大家肯定都不陌生,在shell脚本,$作用还是比较大多,这里将所有的$组合都列出来,大家可以看下效果。 $组成命令大概有下面几个: $0,$1...$?,$!...sleep 10命令,脚本运行完会睡眠10s,脚本打印出来了值60658,此时我们查看当前脚本进程号,发现子进程进程id是60658 4 $*和$@ 这两个放在一起,主要是因为他们都代表引用所有参数...该命令是显示shell脚本中上一个后台执行命令进程id号,如下: jwfyyzdembp:tmp jwfyyz$ cat test.sh echo '$*结果是':$* echo '$@结果是'...反应脚本某个命令进程号。

4.1K10

MakefileShell脚本简介

给很多刚接触Makefile的人: 1、Makefile可以嵌入shell脚本,而且能像shell脚本中一样,各种命令、控制结构都可使用。 2、Makefile主要结构是 ......只有在command位置shell脚本才是有效,也就是只有在“生成目标的规则处”写shell脚本才是shell脚本,其它位置shell都是无效。...3、Makefileshell,不同行在不同进程执行,不同行直接不能传递变量,所以很多时候shell都尽量使用反斜杠()来把相关内容串成一行。...4、Makefile变量和shell变量是两个不同东西,并且为了避免Makefile变量和shell变量冲突,引用Makefile变量最好使用$(Makefile_Var),引用shell变量时最好使用...但如果在纯粹shell编程,纯shell脚本里可以使用$VAR来引用VAR这个变量。 收藏于 2012-08-08

2K80

Shell脚本 DevNull 用途

在命令行和脚本中都非常有用 用途 /dev/null 通常被用于丢弃不需要输出流,或作为用于输入流空文件,这些操作通常由重定向完成,任何你想丢弃数据都可以写入其中 丢弃标准输出 在写shell脚本时候...,只想通过命令结果执行后面的逻辑,而不想命令执行过程中有一大堆中间结果输出,这时候可以把命令执行过程输入全部写入 /dev/null 现有 a.sh 脚本,它功能是判断传入系统命令是否存在,脚本内容如下...表示前一条命令执行结果, 0 表示成功,其他表示失败 脚本执行结果先输出了 top 命令路径,紧接着输出了top命令存在日志 把 command -v $1结果重定向到 /dev/null...丢弃标准错误输出 在shell脚本,删除一个文件时候,需要先判断文件是否存在,然后才能执行删除操作,否则删除时候会输出错误, 一般删除文件脚本内容如下: #!...比如: 当前目录有一个日志文件 log.txt,脚本调试日志会以 echo " this is debug log" >> log.txt 形式写入这个文件 现在脚本功能测试通过了,调试日志不需要写入

1.1K20

Shell-alias在Shell脚本使用

概述 在shell开启alias 实际操作 概述 众所周知,shell脚本使用是非交互式方式,在非交互式模式下alias扩展功能默认是关闭,此时虽然可以定义alias别名,但是shell不会将alias...别名扩展成对应命令,而是将alias别名本身当作命令执行,如果shell内置命令和PATH均没有与alias别名同名命令,则shell会找不到指定命令。...---- 在shell开启alias 使用shell内置命令shopt命令来开启alias扩展选项。...shopt是shell内置命令,可以控制shell功能选项开启和关闭,从而控制shell行为 常用命令: Command Desc shopt -s opt_name Enable (set) opt_name...项目启动中会依赖一些环境变量,所以双机启动脚本需要显式引入.bash_profile文件。 所以我们将 开启alias命令放在 .bash_profile

2.2K10

shell脚本介绍,shell脚本结构和执行方式,date命令用法,shell脚本变量简介

Shell Script,Shell脚本与Windows/Dos下批处理相似,也就是用各类命令预先放入到一个文件,方便一次性执行一个程序文件,主要是方便管理员进行设置或者管理用。...Shell脚本文件名称是以.sh为后缀,用于区分这是一个shell脚本shell注释符是井号“#”,和其他编程语言一样,注释那一行内容不会被解释器执行,但是要注意区别“#!”...第二种执行方法是给这个Hello.sh脚本文件加上了可执行权限,所以可以当做一个二进制文件直接执行: ? sh和bash实际上是同一个命令,因为sh是bash连接文件: ?   要注意是,#!...但是要注意是,这只是检查脚本语法错误,如果你系统命令写错了,是不会被检查。 20.3 date命令用法 ?...shell脚本变量和其他编程语言中变量含义是一样,都是用来存储一个数据,然后使用变量名就可以进行调用了,shell脚本语法和其他脚本语法类似,都不需要使用分号作为语句结束。

2.5K60

Java运行shell脚本

需求 忽然想写个东西,然后发现自己linux端口开放问题以及端口占用问题很麻烦,因为我经常用8080端口,如果有一个图形化界面看某个端口被占用以及被什么占用就好了。...// 只能接收脚本echo打印数据,并且是echo打印最后一次数据 BufferedInputStream in = new BufferedInputStream(ps.getInputStream...// 只能接收脚本echo打印数据,并且是echo打印最后一次数据 BufferedInputStream in = new BufferedInputStream(ps.getInputStream...,即在linux上有权限去运行,否则不通; 如果不满足,如果不满足,下下策为执行脚本之前先执行以下赋予权限命令 ,在执行你命令 ShellUtils.exceShell("chmod -R 777...(在jar包里) (1)复制sh到操作系统某个目录下(亲测,可用) 从jar包内复制文件到系统目录内_CBeann博客-CSDN博客_java将jar包中文件复制到 (2)用方式二执行脚本

14910
领券