当我用所需的值定义数组时,它';shell脚本中的s抛出错误

当我用所需的值定义数组时,它';shell脚本中的s抛出错误,shell,scripting,Shell,Scripting,当我用所需的值定义数组时,它会抛出下面的错误 db_backup_daily.sh: 103: /home/user/Desktop/db_backup_daily.sh: Syntax error: "(" unexpected (expecting "fi") 我提供的代码是在联机shell编辑器中执行的,但当我试图从终端执行时,它抛出错误 #!/bin/sh year=$(date +"%Y") month=$(date +"%B") day=$(date +"%d") db_backu

当我用所需的值定义数组时,它会抛出下面的错误

db_backup_daily.sh: 103: /home/user/Desktop/db_backup_daily.sh: Syntax error: "(" unexpected (expecting "fi")
我提供的代码是在联机shell编辑器中执行的,但当我试图从终端执行时,它抛出错误

#!/bin/sh
year=$(date +"%Y")
month=$(date +"%B")
day=$(date +"%d")
db_backup=/home/user/Documents/db_backup
YEAR_DIR=/home/user/Documents/db_backup/$year
MONTH_DIR=/home/user/Documents/db_backup/$year/$month
DAY_DIR=/home/user/Documents/db_backup/$year/$month/$day

FILE_NAME_ARRAY=( USER_TABLE_FILE PMT_TABLE_FILE FBA_PO_TABLE_FILE VENDOR_SUPPLIER_TABLE_FILE )

LOG_FILE_NAME_ARRAY=(USER_TABLE_LOG_FILE PMT_TABLE_LOG_FILE FBA_PO_TABLE_LOG_FILE VENDOR_SUPPLIER_TABLE_LOG_FILE)

TABLES_NEED_To_BACKUP=(Add_task checklist_task_management)

echo 'code executed successfully'
上述代码应从终端执行

#/bin/sh
意味着该脚本将在系统的默认POSIX shell上运行,该shell并不总是指向bash/ksh的链接,因此不能保证支持数组。您需要将其更改为:

#!/bin/bash
#/bin/sh
意味着该脚本将在系统的默认POSIX shell上运行,该shell并不总是指向bash/ksh的链接,因此不能保证支持数组。您需要将其更改为:

#!/bin/bash

可能重复的可能重复的可能重复的我需要做的@oguz ismail?谢谢@oguz ismail。我更改了shSure@oguz-ismail的语法。终于明白了区别。我需要做什么@oguz ismail?谢谢@oguz ismail。我更改了shSure@oguz-ismail的语法。终于明白了区别。