0
나는 배우려는 bash 스크립트가 있습니다. 내가 나오지도 사용하고 하나 개의 bash는 변수에 암호와 다른 bash는 변수에 (암호)의 값을 저장할RegEx를 기반으로 문자열에서 값 가져 오기
create user myuser with password 'mypassword';
: 나는 그 안에있는 SQL 파일이 있습니다. 내가 배우려는 스크립트는 다음과 같습니다.
USERNAME := $(shell sed -n \
"s/^create user \(\S\+\) with password '\(\S\+\)';$$/\1/p" \
createdb.sql)
PASSWORD := $(shell sed -n \
"s/^create user \(\S\+\) with password '\(\S\+\)';$$/\2/p" \
createdb.sql)
정규식을 시도해도 상관 없습니다. 내 문제의 일부는 sed의 기본을 이해하지 못한다. 문자열 부분의 가치를 얻으려면 어떻게해야합니까?
$ str을을이 경우 파일을 것입니까? –
hm ... 외장형'grep'과 bash 내장형 정규 표현식 대신 하나의 외장형 sed + 읽기 대신에? – jm666
당신은 할 수 있겠지만 조금 더 간단합니다. 본질적으로 'IFS'에서'sed'의 출력을 재 작성하도록 사용하기위한 안전한 단일 문자 구분 기호를 제시하기보다는 두 개의 값을 구분하기 위해 다중 문자 구분 기호'with password '를 사용합니다. – chepner