项目开发中,区块链项目合约代码有修改,使用命令同步修改内容到前端项目的合约代码中(两个项目都放在本地)。
在区块链项目根目录下创建sync.sh文件,文件内容如下:
sync.sh文件
npx hardhat compile
find artifacts/contracts/ -name "*.dbg.json" -delete;
find artifacts/contracts/ -type f -exec cp {} ../../XXClient/src/contracts/ \;
find contracts/ -type f -exec cp {} ../../XXClient/src/contracts/ \;
注意项目的路径是否正确(../../XXClient/src/contracts/)
执行同步命令:
./sync.sh
报错:
//没有权限导致的报错
zsh: permission denied: ./sync.sh
赋权:
chmod +x sync.sh
Linux chmod(英文全拼:change mode)命令是控制用户对文件的权限的命令
语法:
chmod [-cfvR] [--help] [--version] mode file...
参数说明
mode : 权限设定字串,格式如下 :
[ugoa...][[+-=][rwxX]...][,...]
其中:
- u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
- + 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
- r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。
其他参数说明:
- -c : 若该文件权限确实已经更改,才显示其更改动作
- -f : 若该文件权限无法被更改也不要显示错误讯息
- -v : 显示权限变更的详细资料
- -R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递归的方式逐个变更)
- --help : 显示辅助说明
- --version : 显示版本
更多内容参照菜鸟教程-Linux chmod命令
执行同步命令:
./sync.sh
成功:
结束:
真是神奇的linux命令啊。