当前位置: 首页 > news >正文

LinuX---Shell脚本创建和执行

概述:

它是一个命令行解释器,接收应用程序/用户命令,然后调用操作系统内核。

Shell还是一个功能强大的编程语言,易编写、易调试、灵活性强。

Linux提供的Shell解析器有

atguigu@ubuntu:~$ cat /etc/shells

# /etc/shells: valid login shells

/bin/sh

/bin/bash

/usr/bin/bash

/bin/rbash

/usr/bin/rbash

/usr/bin/sh

/bin/dash

/usr/bin/dash

 Ubuntu默认的解析器是bash

atguigu@ubuntu:~$ echo $SHELL

/bin/bash

 Shell脚本入门

脚本格式

脚本以#!/bin/bash开头(指定解析器)。

第一个Shell脚本:helloworld.sh

案例操作

echo相当于printf

feng@ubuntu:~$ vim helloworld.sh

在helloworld.sh中输入如下内容

#!/bin/bash
echo "Hello shell!"

保存退出

脚本的常用执行方式
第一种:采用bash或sh+脚本的相对路径或绝对路径(不用赋予脚本+x权限)

sh+脚本的相对路径。

feng@ubuntu:~$ sh ./helloworld.sh
helloworld

sh+脚本的绝对路径。

feng@ubuntu:~$ sh /home/atguigu/helloworld.sh
helloworld

bash+脚本的相对路径。

feng@ubuntu:~$ bash ./helloworld.sh
helloworld

bash+脚本的绝对路径。

feng@ubuntu:~$ bash /home/atguigu/helloworld.sh
helloworld
第二种:采用输入脚本的绝对路径或相对路径执行脚本(必须具有可执行权限+x)(常用)

1、首先要赋予helloworld.sh 脚本的+x权限

2、执行脚本

相对路径。

feng@ubuntu:~$ ./helloworld.sh
helloworld

绝对路径。

feng@ubuntu:~$ /home/atguigu/helloworld.sh
helloworld
第三种:将文件放入到用户的环境变量中执行

查看环境变量的路径

echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/games:/usr/local/games:/sna;/bin:snap/bin

 然后任选一个路径,将文件添加进去然后执行

sudo cp helloworld.sh /usr/local/bin/
sudo helloworld.sh

注意:第一种执行方法,本质是bash解析器帮你执行脚本,所以脚本本身不需要执行权限。第二种执行方法,本质是脚本需要自己执行,所以需要执行权限。

相关文章:

  • fastapi+angular实现Tcp在线聊天室功能
  • 大白话阐述react和vue高阶组件的概念、优势及应用场景,以及区别,给出简单高阶组件的实现代码
  • Django-ORM-select_related
  • 如何手动使用下载并且运行 QwQ-32B-GGUF
  • 文件上传安全
  • 大数据-spark3.5安装部署之standalone模式
  • 数据结构:栈的应用举例——进制转换
  • ACwing—跳台阶(bfs+dp+递归+记忆化搜索算法)
  • SpringBoot中使用AJ-Captcha实现行为验证码(滑动拼图、点选文字)
  • C语言零基础入门:嵌入式系统开发之旅
  • windows下安装docker desktop并指定安装目录及汉化
  • 系统可观测性(5)OpenTelemetry基础使用
  • Kotlin 继承
  • 银河麒麟V10ServerSP3中Redis7源码编译与安装详细教程
  • SQL basic commands
  • 【go】函数类型的作用
  • 【数控系统】第二章 LinuxCNC源码介绍
  • TCP/IP 协议精讲-精华总结版本
  • 【SpringMVC】入门版
  • 网络运维学习笔记(DeepSeek优化版) 016 HCIA-Datacom综合实验01
  • 河南信阳拟发文严控预售许可条件:新出让土地开发的商品房一律现房销售
  • 多家中小银行存款利率迈入“1时代”
  • 《AI×SCIENCE十大前沿观察》9:合成数据和数据基础设施
  • 梅花奖在上海|“我的乱弹我的团”,民营院团首次入围终评
  • 菲律宾举行中期选举
  • 技术派|巴基斯坦导弹:让印度保持克制的“定海神针”?