我的计算机中出现 Bash 脚本错误,但其他计算机中没有出现此错误

我的计算机中出现 Bash 脚本错误,但其他计算机中没有出现此错误

剧本:

waktu=$(date +"%H")
kelompok="E20"
dir_skrg=$(pwd)

if (( $waktu >= 5 && $waktu <= 10 ))
then
    salam="pagi"
elif (( $waktu >= 10 && $waktu <= 3 ))
then
    salam="siang"
elif (( $waktu >= 4 && $waktu <= 7 ))
then
    salam="sore"
else 
    salam="malam"
fi

echo “Selamat $salam $kelompok dengan user $USER, sekarang pukul $waktu dan pada direktori $dir_skrg”

它给出了错误:

script1.sh: 5: script1.sh: 14: not found
script1.sh: 8: script1.sh: 14: not found
script1.sh: 11: script1.sh: 14: not found

但在我朋友的 ubuntu 中却不行。有人知道为什么吗?

14 是我运行脚本时的小时数,我假设出于某种原因,它认为 14 是一个文件

答案1

看起来这是作为 shell (sh) 脚本而不是 bash 脚本运行的。尝试像这样运行它:

bash script.sh

或者在脚本的第一行输入以下内容

#!/bin/bash

然后运行./script.sh

答案2

添加#!/bin/bash到脚本顶部,作为第一行。

笔记:这叫做 shebang。有关它的更多信息可以在这里找到这里

赋予你的脚本正确的权限。

chmod a+x <script_name>

再次运行您的脚本。

./<script_name>

相关内容