다음 명령을 사용하면 solcjs --bin test.sol
다음 이름의 파일이 생성됩니다 byonotary_sol_BYONotary.bin
.
이 파일 이름을 변수에 즉시 저장하려면 어떻게 해야 합니까? solcjs --bin test.sol
새로 생성된 파일 이름을 동일한 코드 줄의 변수에 실행하고 저장하고 싶습니다 .
감사해요.
답변1
파일 이름이 다음과 같기 때문에파일의 계약을 기반으로 생성됨, 원하는 "새" 파일이 무엇인지 쉽게 확인할 수 있도록 출력용 임시 디렉터리를 만드는 것이 좋습니다.
d=$(mktemp -d -p .)
solcjs --bin --output-dir "$d" test.sol && set -- "$d"/*.bin && newfile=$1
이는 현재( ) 디렉터리에 상대적인 디렉터리를 mktemp
생성하라는 의미입니다. .
그런 다음 이전과 같이 실행되지만 옵션이 solcjs
있습니다 --output-dir
. 같은 줄(또는 더 읽기 쉽게 별도의 줄)에서 *.bin
새 디렉터리에 와일드카드를 확장하도록 쉘에 요청합니다. 아마도 일치하는 유일한 파일은 새로 생성된 파일일 것입니다. 물론, *.bin
이 옵션 사용을 중단하는 경우에는 조정하세요.--bin
date +%s
현재 타임스탬프(예 : ) 를 사용하거나 다음을 사용하는 등 다양한 방법으로 임시 디렉터리 이름을 조정할 수 있습니다.mktemp
주형특징.