Tôi đã tạo tập lệnh này để sao lưu cơ sở dữ liệu postgresql của mình bằng cron:
sao lưu
#!/bin/bash
export PGUSER="user"
export PGPASSWORD="pass"
FECHA_ACTUAL=`date +%Y-%m-%d`
HORA_ACTUAL=`date +%H:%M`
ARCH_RESP=$FECHA_ACTUAL-$HORA_ACTUAL
pg_dump -O -Fc mydb -h localhost > /home/user/backups/backup_$ARCH_RESP.sql
find /home/user/backups/ -name '*.sql' -mtime +2 -exec rm -f {} \;
unset PGUSER
unset PGPASSWORD
Nếu tôi sao chép và dán mã này vào thiết bị đầu cuối thì nó hoạt động tốt, nhưng nếu tôi cố chạy tập lệnh, tôi gặp lỗi này:
user @ nha: ~ / scripts $ ./backup.sh
export: trình thông dịch xấu: không có tệp hoặc thư mục như vậy
Có điều gì sai với kịch bản của tôi? Hay là nó thông dịch sai như nó nói?
type -a bash
cái gì?