Linux shell编程基础

慈云数据 2024-06-15 技术支持 44 0

Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问 Linux 内核的服务。

Shell 脚本(shell script),是一种为 shell 编写的脚本程序,一般文件后缀为 .sh。

一、shell环境

Linux 环境下有很多可以使用的shell,每个用户都拥有一个特定的默认shell。在Linux系统中,/etc/shells文件用于指定哪些程序路径可以作为有效的登录shell。

Shell 的解释器种类众多,常见的有:

shell 解释器说明
shBourne Shell。sh 是 Unix 标准默认的 shell。
bashBourne Again SHell。bash 是 Linux 标准默认的 shell。
tcsh整合 C Shell ,提供更多的功能
csh已经被 /bin/tcsh 所取代
zsh功能强大的 shell 与脚本语言。

要查看系统中允许的合法登录shell,可以执行以下命令:

cat /etc/shells

在这里插入图片描述

1.1 当前用户的默认shell

用户的“默认shell”是指他们登录系统后自动启动命令行解释器或交互式shell。这个shell用于处理用户在命令行界面输入的命令和操作。

可以使用如下命令查看当前默认shell

echo $SHELL

在这里插入图片描述

1.2 修改当前用户默认shell

要更改用户的默认shell,可以在命令行中输入以下命令:

chsh -s 

其中是你想要设置为用户默认shell的路径。例如,要将当前用户的默认shell更改为Bash,可以执行:

chsh -s /bin/bash

系统会要求你输入当前用户的密码以确认此操作。确认后,用户的默认shell将被更改为Bash。但是似乎修改失败了。

在这里插入图片描述

1.3 指定脚本解释器

shell脚本中,#! 告诉系统其后路径所指定的程序即是解释此脚本文件的 Shell 解释器。#! 被称作shebang。

#! 决定了脚本可以像一个独立的可执行文件一样执行,而不用在终端之前输入sh, bash, python, php等。

指定 bash 解释器

#!/bin/bash
#!/usr/bin/env bash

1.4 shell 脚本执行方法

shell 脚本执行方法有多种,以如下helloworld.sh 为例

#!/bin/bash
echo "Hello, world!"

可以使用下面的命令让 shell 以非交互模式运行:

sh /path/to/script.sh
bash /path/to/script.sh
source /path/to/script.sh
./path/to/script.sh

其中,source /path/to/script.sh 和 ./path/to/script.sh 是等价的。

除此之外,你还可以通过chmod命令给文件添加可执行的权限,来直接执行脚本文件:

chmod +x /path/to/script.sh #使脚本具有执行权限
/path/to/test.sh

二、注释

注释可以说明你的代码是什么作用,以及为什么这样写。shell 语法中,注释是特殊的语句,会被 shell 解释器忽略。

单行注释 - 以 # 开头,到行尾结束。

多行注释 - 以 :

微信扫一扫加客服

微信扫一扫加客服

点击启动AI问答
Draggable Icon