Hello World Bash Shell 脚本
“Hello, World!” bash shell 脚本是一个向用户输出“Hello, World!”的 bash 程序。此脚本说明了 bash shell 脚本语言在工作程序中的基本语法。如果您刚开始在 Linux 和类 Unix 系统上使用 bash shell 脚本,那么这是您的第一个程序。
教程详细信息 | |
---|---|
难度等级 | 简单的 |
Root 权限 | 不 |
要求 | Linux 或 Unix 终端 |
类别 | Linux shell 脚本 |
操作系统兼容性 | BSD • Linux • macOS • Unix • WSL |
预计阅读时间 | 3 分钟 |
如何编写 hello world bash shell 脚本
流程如下:
- 使用文本编辑器(例如 nano 或 vi/vim)创建一个名为 hello.sh 的新文件:
$ nano hello.sh
- 添加以下代码:
#!/bin/bash echo "Hello World"
- 通过运行 chmod 命令设置脚本可执行权限:
$ chmod -v +x hello.sh
- 使用以下任一语法运行或执行脚本:
$ ./hello.sh
OR
$ sh hello.sh
OR
$ bash hello.sh
改进 Hello World 脚本
让我们创建一个名为 update-hello.sh 的程序,如下所示:
#!/bin/bash # Usage: Hello World Bash Shell Script Using Variables # Author: Vivek Gite # ------------------------------------------------- # Define bash shell variable called var # Avoid spaces around the assignment operator (=) var="Hello World" # print it echo "$var" # Another way of printing it printf "%s\n" "$var"
运行如下:
其中,
$ chmod +x update-hello.sh
$ ./update-hello.sh
- 脚本的第一行(#!/bin/bash)是shebang。它告诉Linux / Unix如何运行脚本。
- 每个 shell 注释都以 开头#。
- 声明一个变量:Variable_Name="Values_here"。
接下来创建一个名为 hello2.sh 的程序来显示当前日期和计算机/系统名称,如下所示:
#!/bin/bash var="Hello World" # Run date and hostname command and store output to shell variables now="$(date)" computer_name="$(hostname)" # # print it or use the variable # Variable names are case sensitive $now and $NOW are different names # echo "$var" echo "Current date and time : $now" echo "Computer name : $computer_name" echo ""
运行如下:
$ chmod +x hello2.sh
$ ./hello2.sh
从输入读取值
我们最终的 hello world 程序使用 read 命令从键盘读取输入。创建一个名为 hello-input.sh 的 bash shell 脚本:
$ nano hello-input.sh
附加以下代码:
#!/bin/bash # Clear the screen clear # Read input using read command read -p "May I know your name please? " name echo "Hello $name, let us be friends" echo ""
保存并关闭文件。按如下方式运行:
$ chmod +x hello-input.sh
$ ./hello-input.sh
在“调试”模式下运行 shell 脚本
传递-x和-v选项:
$ bash -x hello-input.sh
$ bash -v hello-input.sh
$ bash -x -v hello-input.sh
常见的 Bash 脚本错误
运行 ./hello.sh 时可能会出现权限被拒绝错误:
bash: ./hello.sh: Permission denied
要解决此问题,请运行 chmod 命令:
有些人会在 MS-Windows 和 Linux/Unix 系统之间移动脚本。但是,这可能会导致回车符问题。如果这样做,请运行 dos2unix 和其他命令将从 Windows 复制到 Linux 的脚本转换为:
然后运行 output-script-name:有关更多信息,
请参阅如何在 Linux 或 Unix 中删除回车符。
$ chmod +x {script-name}
$ chmod +x hello.sh
# Now try it again
$ ./hello.sh
$ dos2unix input-script-name output-script-name
$ chmod +x output-script-name
$ ./output-script-name
结论
您学习了如何编写“Hello World”shell 脚本并在 Linux 或类 Unix 系统上运行它。有关更多信息,请参阅 Linux Shell 脚本教程和使用 man 命令或 help 命令的 bash 命令手册页:
$ man bash
$ help echo
$ help printf
$ help read