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

bash shell

程序员文章站 2022-06-08 21:36:58
...

参考:https://www.yiibai.com/bash/bash-scripting.html

 

如何创建和运行Bash脚本?

  1. 要创建一个空的bash脚本,首先,使用cd命令进入保存脚本的目录。使用文本编辑器(如gedit),并键入shell命令。
  2. 使用touch命令创建零字节大小的脚本。
    touch file_name
    

    Shell

  3. 要在文本编辑器(例如gedit)中打开脚本,请输入:
    gedit file_name.sh
    

    Shell

    在此,.sh后缀是必须提供以执行的扩展名。
  4. 在新打开的文本窗口或文本编辑器中输入bash脚本的shell命令。

每个基于Bash的Linux脚本都以以下行开头:

#!/bin/bash

Shell

这里#!称为shebang,该行的其余部分是解释器的路径,用于指定bash shell在操作系统中的位置。

Bash使用#注释任何代码行。

Bash使用echo命令来打印输出。

最后,以./作为前缀来执行bash脚本。

 

  • 它应该始终在脚本的第一行。
  • #!和解释器的路径之间,#之前不应有任何空格

bash shell

 

保存,关闭。

 

修改执行权限:chmod +x *.sh

bash shell

查看文件权限:ls -l

bash shell

 

执行  ./bash.sh

bash shell

 

当执行报错时,尝试root权限。

 

 

 

变量   用  = 赋值

例如:   a= "1234"

引用赋值:  $

bash shell

注意:赋值 = 等号和后面的字符直接要紧挨,不能有空格。

执行结果:

bash shell

 

 

2. Bash变量

如果没有适当的信息(语法,数据类型,类型,工作方式),我们将无法使用bash变量,因此,通过浏览此简短教程,以获取有关Bash变量的适当概述。

首先,了解语法:

Variable_name=value

Bash

定义Bash变量的规则集:

  • 在读取或打印变量时,在变量名前加上美元($)符号。
  • 设置任何值的变量时,省略美元符号($)。
  • 变量名可以是字母数字,也可以用下划线(_)书写。
  • 变量名称区分大小写:xX视为两个不同的变量。
  • 变量名可以使用大写或小写字母或两者的混合形式编写。
  • 变量可以放在Bash脚本中的任何地方或命令行中,因为在运行时,Bash会将其替换为其分配的值。
  • 变量名称与值之间的等号(=)的两侧都不应有空格。以下是无效变量的一些示例,它们之间具有空格(由点...表示),如下所示:
    var1=...variable1
    var2...=variable2
    var3...=...variable3
    

    Bash

  • 不需要使用任何单引号或双引号来定义具有单个字符值的变量,例如var1=variable。要将多个单词或字符串作为单个项输入到变量中,然后使用引号将内容包含在该变量中。
    • 单引号('')有助于处理每个字符。
    • 双引号("")有助于进行替换。


从Bash脚本读取用户输入

使用read命令从Bash脚本中读取了单个变量和多个变量。

 

此示例将输入保持在静默模式,这样命令行上的用户输入都将对其他用户隐藏。
因此,通常使用命令行选项(-s-p)来传递用户名并隐藏密码(静默模式),如下所示:

read -sp PROMPT <variable_name>

Bash

其中-s指示用户将输入保持在静默模式,-p指示用户在新的命令提示符下输入。

示例代码:

#!/bin/bash  

read -p "username : " user_var  
read -sp "password : " pass_var  
echo  
echo "username : " $user_var  
echo "password : "  $pass_var

Bash

将上面脚本代码保存到文件:read-sprompt.sh,然后执行,得到以下结果:

bash shell

注意:在脚本的第5行,echo命令输出了空行,因为如果不留空,则它将在同一行上输出密码和用户名。

因此,通过添加echo命令空白行来编写脚本。


 

 

 

 

 

 

 

参考:https://www.yiibai.com/bash/bash-scripting.html

 

 


 

相关标签: Linux