我已经在我的 Mac 上本地安装了 DynamoDB ( http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.html ),并且我编写了一个 bash 别名,旨在避免cd
进入 DynamoDB 目录和跑
$ java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb
每次我想启动数据库。但是,别名似乎没有按预期工作......
首先,我写的别名是
alias ddb-start="java -Djava.library.path=~/Documents/dynamodb/DynamoDBLocal_lib -jar ~/Documents/dynamodb/DynamoDBLocal.jar -sharedDb"
当我运行时$ ddb-start
,数据库按预期启动:
Initializing DynamoDB Local with the following configuration:
Port: 8000
InMemory: false
DbPath: null
SharedDb: true
shouldDelayTransientStatuses: false
CorsParams: *
问题是,除非我从 运行脚本,否则我的~/Documents/dynamodb/
所有表都丢失了。
所以如果我再跑cd
,一切都很完美。但是,如果我打开一个新的终端窗口并运行(或从 以外的任何地方运行它),Dynamo 似乎会正常启动,但是当我在 JavaScript Shell 中列出表时,没有表。Documents/dynamodb/
$ ddb-start
$ ddb-start
Documents/dynamodb/
我希望能够从任何目录运行别名并让 Dynamo 正确启动和运行。我必须cd
进入目录,即使有别名?还是我写的别名有问题?
*** 啊,我注意到,无论我从哪个目录运行它,shared-local-instance.db
都会在该目录中创建一个副本。我不希望这种情况发生,我希望它指向shared-local-instance.db
. ~/Documents/dynamodb/
我怎样才能做到这一点?