首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

UNIX 入门指南 – 什么是 Shell 脚本

Shell 是用户访问 Unix 操纵系统接口。它接收用户输入,然后基于该输入执行程序。程序执行完后,结果会显示在显示器上。 Shell 就是运行指令、程序和 Shell 脚本运行环境。...sh) C shell不同类型如下: C shell ( csh) TENEX/TOPS C shell ( tcsh) 最初 UNIX Shell 是 Stephen R....Bourne 在 1970 年代中期写。当时,他在新泽西 AT&T 贝尔实验室工作。 Bourne shell是第一个出现在 Unix 系统 shell,因此它被称为标准shell”。...Bourne shell通常是安装在大多数版本 Unix /bin/sh 目录。由于这个原因,在不同版本 Unix 上也会选择这种 Shell 来编写脚本。...在本教程,我们将覆盖 Bourne shell 大部分概念。 Shell 脚本 Shell 脚本主要形式就是一系列命令,这些命令会顺序执行。良好风格 Shell 会有相应注释。

94400

shell脚本】$ 在shell脚本使用

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

6.1K20

Shell 脚本调用另一个 Shell 脚本三种方式

Shell 从父 Shell 继承环境变量,但是子 Shell 环境变量不会带回父 Shell。 exec exec 与 fork 不同,不需要新开一个子 Shell 来执行被调用脚本....被调用脚本与父脚本在同一个 Shell 内执行。但是使用 exec 调用一个新脚本以后, 父脚本 exec 行之后内容就不会再执行了。...这是 exec 和 source 区别. source 与 fork 区别是不新开一个子 Shell 来执行被调用脚本,而是在同一个 Shell 执行....exec 在同一个 Shell 内执行,但是父脚本 exec 行之后内容就不会再执行了 source 在同一个 Shell 执行,在被调用脚本声明变量和环境变量, 都可以在主脚本中进行获取和使用...参考: 在shell脚本调用另一个脚本三种不同方法(fork, exec, source)

4.3K20

shell脚本export变量只限脚本内么_shell脚本调用oracle存储过程

解决结果: 脚本export一定是生效 利用source执行脚本,在当前shell即可查看到fdu环境变量。...在这个shell,可以使用shell命令或声明变量,也可以创建并运行shell脚本程序。运行shell脚本程序时,系统将创建一个子shell。...从这种意义上来说,用户可以有许多 shell,每个shell都是由某个shell(称为父shell)派生。 ​ 在子 shell定义变量只在该子shell内有效。...如果在一个shell脚本程序定义了一个变量,当该脚本程序运行时,这个定义变量只是该脚本程序内一个局部变量,其他shell不能引用它,要使某个变量值可以在其他shell(子shell)中被使用,...export命令将使系统在创建每一个新shell时定义这个变量一个拷贝。这个过程称之为变量输出。 ​ source某脚本时,是在当前shell执行,并未创建子进程(子shell)。 ​

1.3K60

【Groovy】Groovy 脚本调用 ( Linux 调用 Groovy 脚本 | Windows 调用 Groovy 脚本 )

文章目录 前言 一、Linux 调用 Groovy 脚本 二、Windows 调用 Groovy 脚本 前言 在 命令行 , Groovy 脚本 , Groovy 类 , Java 类 , 可以调用...) 博客为例 , 将 Thread 类扩展方法定义在 ThreadExt 类 , 并将其打包封装到 thread.jar 文件 ; 在 Groovy 脚本运行 Thread 扩展文件 , 需要依赖于...thread.jar 文件 ; 一、Linux 调用 Groovy 脚本 ---- 在 Linux 运行 Groovy 脚本 , 需要在第一行处配置 #!.../ThreadExtApplication.groovy 命令 , 即可在 Linux 命令行 , 运行 Groovy 脚本 ; 注意 , -classpath 参数设定 , 指定 thread.jar...thread.jar new Thread().hello{ println "Hello" } Thread.hello{ println "Hello" } 二、Windows 调用

1.8K30

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脚本$符号意义

// 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
领券