欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

脚本的调试和执行

程序员文章站 2022-07-14 16:28:41
...

1.脚本的调试

vim test.sh
写入:其实是故意少写一个“]”
if [ “$1” -eq "5" 
then echo haha
fi
sh test.sh 5
直接显示找不到,报错,但是不说在哪
sh -x  test.sh 加上-x会显示错在哪,显示脚本里面的内容,并且还会报错,显示过程

脚本的调试和执行

脚本的调试和执行

2.脚本的执行

vim test.sh
写入:
#!/bin/bash
watch -n 1 date

脚本的调试和执行

sh test.sh( 属于一种调用方式,这种调用方式是在外面指定shell环境是sh)

脚本的调试和执行

ctrl+z打入后台

脚本的调试和执行

ps  f 查看进程:发现是在脚本里面的shell下面开启了一个子shell,进而执行脚本里面的命令

脚本的调试和执行

fg调回进程
chmod +x test.sh给一个执行权限
直接/mnt/test.sh回车,这样就是另外一种执行方式(使用的就是脚本里面的第一行的shell类型,不用开启子shell,这一行也叫幻数)
ctrl+z
pf f

脚本的调试和执行

source test.sh  =  .   test.sh 功能一样
.   test.sh    使用的是脚本里面的shell
ctrl+z
ps f 使用的是当前shell的环境

脚本的调试和执行

kill -9 结束进程

脚本的调试和执行

./test.sh=/mnt/test.sh

脚本的调试和执行

vim test.sh
写入:
#!/bin/bash
echo $a
a=1

脚本的调试和执行
脚本的调试和执行

.  test.sh    
source test.sh 
这两种方式都可以显示a的值

sh test.sh  
 ./test.sh  
/mnt/test.sh
不能显示a的值,因为a的值在当前shell的环境里面