Shell脚本执行的四种方法

(1).bash(或sh) [脚本的相对路径或绝对路径]

1
2
3
4
5
6
7
8
9
10
11
12
13
[xf@xuexi ~]$ cat a.sh
#!/bin/bash
echo "hello world!"
[xf@xuexi ~]$ bash a.sh
hello world!
[xf@xuexi ~]$ which bash
/usr/bin/bash
[xf@xuexi ~]$ sh a.sh
hello world!
[xf@xuexi ~]$ which sh
/usr/bin/sh
[xf@xuexi ~]$ ll /usr/bin/sh
lrwxrwxrwx. 1 root root 4 4月   5 22:07 /usr/bin/sh -> bash

  可以看到sh命令实际指向的是bash命令,sh只是bash的一个软链接

(2).source(或.) [脚本的相对路径或绝对路径]

  .(点)是等同于source的,最常见的使用是在重新加载环境变量时。

1
2
3
4
[xf@xuexi ~]# source a.sh
hello world!
[xf@xuexi ~]# . a.sh
hello world!

 

(3).sh < [脚本名称]或者cat [脚本名称] | sh(或bash)

1
2
3
4
[xf@xuexi ~]# sh < a.sh
hello world!
[xf@xuexi ~]# cat a.sh | sh
hello world!

(4).脚本的相对路径或绝对路径,使用该方法,脚本必须拥有执行权限

1
2
3
4
5
[xf@xuexi ~]$ chmod +x a.sh
[xf@xuexi ~]$ ./a.sh
hello world!
[xf@xuexi ~]$ /home/xf/a.sh
hello world!

  

posted @   苦逼运维  阅读(3614)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
历史上的今天:
2018-05-03 Linux命令之file
点击右上角即可分享
微信分享提示