Shell执行时显示指令本身&&显示shell指令

shell脚本如何显示所执行的每一条命令,例如执行一个bash脚本时,只看到了各个命令的执行结果,但是没有看到具体的命令

#!/bin/bash
ls
#end

这个脚本执行时,并不打印命令‘ls‘

怎么样才能让其先打印出所执行的命令,在执行命令呢?

1、方法一

在脚本中设置-x参数,让命令执行时打印其命令本身和参数,如:

#!/bin/bash
set -x
ls
#end

运行结果

+ ls

2、方法二

除了方法一的作用外,输出还会原封不动的打印执行后的每一条指令,如:

#!/bin/bash
set -xv
ls
#end

运行结果

ls
+ ls

3、方法三

在启动脚本命令时,给定脚本的输入参数,如:

sh -x yourscript.sh

运行结果

+ ls

原文地址:https://www.cnblogs.com/macrored/p/11755295.html

时间: 2024-11-05 02:32:20

Shell执行时显示指令本身&&显示shell指令的相关文章

SSH Secure Shell Client连接Linux 命令行显示中文乱码问题 和oracle 查询数据中文乱码问题

一.SSH Secure Shell Client连接Linux 命令行显示中文乱码问题 linux 设置系统语言 修改 /etc/sysconfig/i18n 文件,如 LANG="en_US.UTF-8",xwindow会显示英文界面, LANG="zh_CN.GB18030",xwindow会显示中文界面. 还有一种方法 cp /etc/sysconfig/i18n $HOME/.i18n 修改 $HOME/.i18n 文件(vim  $HOME/.i18n)

shell脚本,提示用户输入一个用户名,如果存在;显示用户UID和SHELL信息;否则,则显示无此用户;显示完成之后,提示用户再次输入;如果是quit则退出;

[[email protected] wyb]# cat tishiuser.sh #!/bin/bash #提示用户输入一个用户名,如果存在:显示用户UID和SHELL信息:否则, #则显示无此用户:显示完成之后,提示用户再次输入:如果是quit则退出; echo 'Input `quit` to quit' while : do read -p "Please Input a user:" choice [ -z $choice ] &&continue [[ &q

解决使用crontab执行shell脚本时出现乱码情况

自己编写了一个shell脚本来维护测试环境,使用了crontab调度让其定时执行,结果遇到了乱码问题,脚本在shell环境下直接运行没有问 题. 结论是crontab执行时不会携带用户的环境变量,缺失一些系统变量,碰到中文就乱码.需要在脚本里额外添加缺失的环境变量,针对中文问题,需要声明 LANG参数 在脚本开头增加:LANG="en_US.UTF-8"export LANG 设置的编码要和系统设置的一致,具体可以到/etc/sysconfig/i18n 查看对应的环境变量.

执行shell脚本时提示bad interpreter:No such file or directory的解决办法

故障现象:在终端直接cd /var正常,在shell脚本中执行则报错.原因是脚本是在windows平台下写的,换行符与Linux不同,造成脚本不能正确执行 出现bad interpreter:No such file or directory(没有那个文件或目录)的原因,是文件格式的问题.这个文件是在Windows下编写的.换行的方式与Unix不一样,但是在vim下面如果不Set一下又完全看不出来. 问题分析:1.将windows 下编写好的SHELL文件,传到linux下执行,提示出错.2.出

Linux问题:Crontab 执行shell脚本时相对路径的问题,不能识别。

问题描述:在linux中的直接执行shell脚本可以用相对路径找到文件,但是如果通过计划任务crontab执行shell脚本时,却不能通过相对路径找到文件! 例子: shell脚本文件代码~ #! /bin/sh Logfile = './1.txt'; date >> $Logfile; echo '------'; 直接执行shell脚本,可以在1.txt文件中看到执行结果,但是如果用crontab计划任务去执行,却在1.txt中看不到执行结果.换成绝对路径就可以,代码如下 #! /bin

jenkins:执行远程shell脚本时,脚本没有生效

问题: jenkins远程部署一台机器时,jenkins构建显示成功,但是查看服务日志却没有真正执行的sh run.sh脚本,导致服务并没有启动 解决: 只需要在命令最上方加上source /etc/profile就可以了 参考:https://blog.csdn.net/y6300023290/article/details/86246463 原文地址:https://www.cnblogs.com/gcgc/p/10823775.html

shell脚本介绍,shell脚本结构和执行,date命令用法,shell脚本中的变量

Shell脚本介绍 shell是一种脚本语言 blog.lishiming.net(阿铭的博客,可以去里面找shell习题)可以使用逻辑判断.循环等语法可以自定义函数,减少重复代码shell是系统命令的集合shell脚本可以实现自动化运维,能大大增加我们的运维效率 Shell脚本结构和执行 开头需要加#!/bin/bash 以#开头的行作为解释说明 脚本的名字以.sh结尾,用于区分这是一个shell脚本写一个简简单的脚本#!/bin/bash#Linletao#2018-5-29echo llt

MongoDB学习第二篇 --- Mac下通过 Shell 执行 mongo 命令

接上一篇随笔,安装mongodb完成后即可进行 最基础的数据库操作了,执行以下步骤,来实现你的hello world吧! 1.打开终端 执行 brew services start mongodb 启动 MongoDB服务,执行 mongo 开启shell操作: 2.显示所有db: show dbs 3.启用某个db: use mydb   (如果没有mydb会自动创建此库) 4.显示库中的表:show tables 或 show collections  (在mongodb中,table称之为

shell 执行顺序

shell script 到今天,我还只能一个劲顺序执行,尝试探索下其更加强大的功能. 一个主文件 main ,三个调用文件 shell1.shell2.shell3,调用文件差别仅仅在于显示内容不同.(main中不使用后台执行(&),那么显示的内容是调用早的执行结束后,再依次完成.)脚本如下: [[email protected] lab-shell-script]$ cat main #!/bin/bash . shell1 & . shell2 & . shell3 &