• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

터미널 명령어에서 특수문자를 일반 택스트로 인식시키는 방법이 있나요?

23.08.28 10:57 작성 조회수 345

0

mysql의 비밀번호를 자동생성을 통해 생성해서 ~+kmisB1[@l1&FH 로 설정해 놓았는데 아래 명령어에서 특수문자로 인해 인식이 정상적으로 못하는것 같습니다.
& 앞에 \를 추가하여 ~+kmisB1[@l1\&FH 로 시도해도 인식이 되지 않았습니다.


명령어 :
npx typeorm-model-generator -h localhost -d sleact -u root -x ~+kmisB1[@l1&FH -e mysql

에러 :
필수 인자를 받지 못했습니다: e
'FH'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다.

답변 2

·

답변을 작성해보세요.

0

파워셸인가요?

https://github.com/flyway/flyway/issues/3064#issuecomment-767488035

여기처럼 작은따옴표와 큰따옴표를 섞어서 써보라는 것 같습니다. 파워셸에서 & 이스케이핑하는 방법을 찾아보세요.

최석우님의 프로필

최석우

질문자

2023.10.23

강의 재주행중에 해당 문제를 다시 만났고 이번에 해결을 하게되서 해결방법을 공유 드립니다.
비밀번호 전체를 큰따옴표로 감싸고 추가적으로 &앞에 ^를 붙여서 의미를 제거해 줘야합니다.
두개 전부 적용해야지만 정상적으로 진행이 됩니다.
~+kmisB1[@l1&FH => "~+kmisB1[@l1^&FH"

0

작은따옴표로 감싸보세요

최석우님의 프로필

최석우

질문자

2023.08.29

E:\React\sleact\a-nest>npx typeorm-model-generator -h localhost -d sleact -u root -x '~+kmisB1[@l1&FH' -e mysql

typeorm-model-generator@0.4.6

Usage: typeorm-model-generator -h <host> -d <database> -p [port] -u <user> -x

[password] -e [engine]

You can also run program without specifying any parameters.

~specifying parameters 설명문~

필수 인자를 받지 못했습니다: e

'FH''은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는

배치 파일이 아닙니다.

 

E:\React\sleact\a-nest>npx typeorm-model-generator -h localhost -d sleact -u root -x "~+kmisB1[@l1&FH" -e mysql

typeorm-model-generator@0.4.6

Usage: typeorm-model-generator -h <host> -d <database> -p [port] -u <user> -x

[password] -e [engine]

~specifying parameters 설명문~

필수 인자를 받지 못했습니다: e

'FH'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는

배치 파일이 아닙니다.

작은 따옴표와 큰따옴표 2가지 방법을 시도 해보았지만 여전히 &를 별개의 특수 기능이 있는 문자로 인식하는것 같습니다.

추가적으로 "~+kmisB1[@l1\&FH" 로 따옴표로 감싼후 \를 추가해보앗지만 여전히 같은 문제가 발생합니다.

-e를 -x보다 먼저 하면요?

최석우님의 프로필

최석우

질문자

2023.08.29

-e를 먼저할시 &기호 보다 앞으로 당겨져서 -e 파람값은 정상적으로 인식됩니다.
그래서 필수 인자를 받지 못했습니다: e 라는 에러는 사라집니다만
여전히 아래 에러가 발생하게 됩니다.
'FH''은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는
배치 파일이 아닙니다.