아이엠 !나이롱맨😎
article thumbnail
[K8S] EKSCTL 를 이용한 EKS 구성
... 2022. 8. 3. 23:19 댓글 0건

🔗 eksctl 깃헙 🔗 eksctl 공식 문서 🔗 eksctl config file example eksctl 설치 curl --silent --location "(uname -s)_arm64.tar.gz" | tar xz -C /tmp sudo mv /tmp/eksctl /usr/local/bin eksctl version EKS 구성 eks 는 아마존의 쿠버네티스 서비스이며, eksctl 은 eks 를 쉽게 구성할 수 있도록 도와주는 커맨드 툴 eksctl 공식 문서는 굉장히 친절한 편이라고 생각 💡 eksctl 은 EKS 를 위한 커맨트 툴이므로 aws configure 가 된 상태여야 함 aws 로그인 aws configure 1. Using Config Files (가장 기본) apiVersi..

article thumbnail
[AWS] S3 퍼블릭 액세스 차단을 활성화 하면서 객체에 접근하는 방법을 알아보자!!
... 2022. 6. 28. 00:21 댓글 0건

S3는 퍼블릭 액세스 차단 기능을 이용하여 버킷 내 객체에 대한 접근을 제한 할 수 있습니다. 퍼블릭 액세스 차단을 활성화 하게 되면 자원을 안전하게 보호할 수 있지만, 외부에서 접근이 불가능해 s3 객체에 접근할 수 없습니다. 따라서 S3는 퍼블릭 액세스 차단을 하면서 외부에서 접근할 수 방법을 제공해주는데, 그 방법에 대해 알아보고자 합니다. Pre-Signed-URL 을 이용하여 S3 객체 업로드(PUT)/다운로드(GET) 하기 Pre-Signed-URL 을 이용하여 S3 객체 업로드(PUT)를 진행하고, 다운로드는 서버를 프록시로 두어 서버에서 S3에 접근하여 다운로드(GET)하기 Pre-Signed-URL 을 이용하여 S3 객체 업로드(PUT)를 진행하고, 다운로드는 goofys를 사용하여 S3..

article thumbnail
[Kotlin] 데이터 집합 표현에 data 한정자를 사용하라
... 2022. 6. 16. 21:51 댓글 0건

이 글의 내용은 [이펙티브 코틀린]을 참고합니다. 때로는 데이터를 한꺼번에 전달해야 할 때가 있습니다. 아래 코드처럼 말이죠. data class Player( val id: Int, val name: String, val points: Int ) val player = Player(0, "Gecko", 9999) data 한정자는 아래의 함수들을 자동으로 생성해줍니다. toString equals 와 hashCode copy componentN(component1, component2 등) toString 클래스의 이름과 기본 생성자 형태로 모든 프로퍼티와 값을 출력 해줍니다. 주로 로그 출력이나 디버깅 할때 사용합니다. println(player) // Player(id=0, name=Gecko, p..

article thumbnail
[Spring] Security +Google Oauth2 + JWT 구현하기 (4) - JWT 재발급 해주기
... 2022. 6. 5. 12:44 댓글 0건

이어서 계속 구현해보겠습니다. 구현 자체가 목적이므로 자세한 설명을 생략합니다. JWT 생성하기 JWT에 권한 추가해주기 생성한 JWT에 대해 인증/인가 하기 JWT 재발급 해주기 (진행) 구현 AuthController @RestController @RequestMapping("/auth") class AuthController( private val authService: AuthService ) { /** * token 생성해서 보내주기 */ @GetMapping("/login") fun login(@AuthenticationPrincipal oAuth2User: OAuth2User): ResponseEntity { return ResponseEntity.ok(authService.login(oAu..

article thumbnail
[Spring] Security +Google Oauth2 + JWT 구현하기 (3) - 생성한 JWT에 대해 인증/인가 하기
... 2022. 6. 5. 12:08 댓글 0건

이어서 계속 구현해보겠습니다. 구현 자체가 목적이므로 자세한 설명을 생략합니다. JWT 생성하기 JWT에 권한 추가해주기 생성한 JWT에 대해 인증/인가 하기 (진행) JWT 재발급 해주기 구현 JwtFilter class JwtFilter( private val jwtProvider: JwtProvider ) : OncePerRequestFilter() { override fun doFilterInternal( request: HttpServletRequest, response: HttpServletResponse, filterChain: FilterChain ) { val jwt = jwtProvider.resolveToken(request) if (StringUtils.hasText(jwt) && ..

article thumbnail
[Spring] Security +Google Oauth2 + JWT 구현하기 (2) - JWT에 권한 추가해주기
... 2022. 6. 4. 18:36 댓글 0건

이어서 계속 구현해보겠습니다. 구현 자체가 목적이므로 자세한 설명을 생략합니다. JWT 생성하기 JWT에 권한 추가해주기 (진행) 생성한 JWT에 대해 인증/인가 하기 JWT 재발급 해주기 구현 @Component class JwtProvider( private val memberRepository: MemberRepository ) { companion object { private const val AUTHORITIES_KEY = "auth" private const val BEARER_TYPE = "bearer" private const val ACCESS_TOKEN_EXPIRE_TIME = (1000 * 60 * 30) private const val REFRESH_TOKEN_EXPIRE_TIME..

article thumbnail
[Spring] Security +Google Oauth2 + JWT 구현하기 (1) - JWT 생성하기
... 2022. 6. 4. 18:11 댓글 0건

이번 글에서는 Spring Security + Google Oauth2 + JWT를 구현해보겠습니다. 구현 자체가 목적이므로 자세한 설명을 생략합니다. 진행하기 앞서 Google Oauth2 Client_ID, Client_Secret는 개인적으로 받으시길 바랍니다 :) 아래와 같은 순서로 진행됩니다. JWT 생성하기 (진행) JWT에 권한 추가해주기 생성한 JWT에 대해 인증/인가 하기 JWT 재발급 해주기 이번 글에서는 JWT 생성하는 부분에 대해 진행합니다. 구현 build.gradle.kts import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { id("org.springframework.boot") version "2.6.8" id("..

article thumbnail
[Kotlin] 제네릭 타입과 variance 한정자를 활용하라
... 2022. 4. 29. 15:19 댓글 2건

재사용을 위한 과도한 유연성 다양한 타입에 동일한 로직을 적용하기 위해 코드 재사용을 과도하게 하려는 경우가 있습니다. 파라미터를 전부 Any로 받는 것이 대표적인 예시입니다. open class Car class K3 : Car() class Avante : Car() //“차에 대한 설명서” 함수 fun getInstruction(car: Array) { println("car = ${car.size}") } 많이 극단적인 예제이기는 합니다.. open class Fruit class Apple : Fruit() fun main() { val k3 = K3("k3", "기아") val avante = Avante("아반떼", "현대") val fruits: Array = arrayOf(Apple())..

article thumbnail
[Java] 스프링을 왜 사용할까?(2) - OCP와 DIP 해결 By 순수 자바
... 2022. 2. 1. 11:25 댓글 3건

지난 포스팅에서는 OCP와 DIP가 위배 되는 경우에 대해서 알아보았습니다. 이번에는 스프링이 아닌 순수 자바로 해결해보겠습니다. 잠깐 지난 글의 클래스 다이어그램을 살펴보겠습니다. public class DriverImpl implements Driver{ Car car = new K3(); Engine engine = new Electronic(); @Override public void findOwnCarDetail() { car.findCarName(); car.findCarBrand(); engine.WayToMove(); } } DriverImpl 역할에 구현체가 직접 new 키워드로 선언 되어 있습니다. 이럴 경우 얼핏보면 OCP와 DIP를 잘 지킨 것 같지만 사실 아니라고 지난 포스팅에서 ..

article thumbnail
[Java] 스프링을 왜 사용할까?(1) - OCP와 DIP의 위배
... 2022. 1. 20. 15:20 댓글 4건

바늘과 실처럼 자바하면 바로 떠오르는 것이 있습니다. 바로 "객체 지향 언어" 라는 것입니다. "객체 지향"이란 레고라고 생각할 수 있습니다. 레고 블록들을 조립하여 우리는 무엇이든 만들 수 있습니다. 레고를 이용해서 동물원을 만들었다고 생각해보겠습니다. 동물원에는 레고로 만들어진 사자도 있고, 호랑이도 있고, 코끼리도 있고, 제가 좋아하는 판다도 있습니다. 하지만 슬프게도 더 이상 호랑이가 인기가 없어서 고릴라 레고로 바꾸고 싶습니다. 이럴 경우 우리는 쉽게 동물원에서 호랑이 레고를 빼고 고릴라 레고를 넣어주면 됩니다. 여기서 호랑이, 고릴라가 객체가 되는 것입니다. 호랑이를 뺀 다고 해서 기존에 있던 사자나 판다 레고는 전혀 영향이 없습니다. 만약 라이거 레고를 만들고 싶다고, 호랑이와 사자를 마구잡..

article thumbnail
[Docker] Mysql 컨테이너 sql-mode 관련 설정 with ONLY_FULL_GROUP_BY 에러 해결하기
... 2021. 12. 12. 14:55 댓글 0건

도커 허브에 올라온 공식 MySql 컨테이너를 실행하면 언제 어디서든 아주 쉽게 동일한 MySql 환경을 구축할 수 있습니다. MySql 컨테이너는 8 버전으로 진행했습니다. 공식 도커 허브에 나와있는 설명대로 하면 1분도 안되서 MySql 환경을 누구나 만들 수 있습니다. 하지만 단순히 아래와 같은 명령어로 컨테이너를 만들면 안되고 볼륨도 마운트 해야하고 MySql에서의 시간, 시스템 환경 변수 등도 설정해주어야 합니다. $ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag 그 중 이번 글에서 sql-mode 라는 MySql에서 사용되는 시스템 변수에 대해 알아보겠습니다. sql-mode란? MySql에 저장될 데..

article thumbnail
[Linux] VM을 NFS로 사용하기
... 2021. 12. 8. 23:01 댓글 0건

NFS란 무엇인가요? 공유된 원격 호스트의 파일을 로컬에서 사용할 수 있도록 개발된 파일 시스템을 네트워크 파일 시스템(Network File System, NFS)이라고 합니다. 전통적인 유닉스 환경에서는 오랫동안 네트워크에서 자료를 공유하는 방법으로 NFS를 사용했습니다. NFS 서버가 파일을 공유하면 NFS 클라이언트가 공유한 디렉터리를 마운트해서 원격 호스트(NFS 서버)의 파일을 사용합니다. NFS는 손쉽게 파일을 공유할 수 있다는 장점이 있지만 보안에 취약하다는 단점이 있습니다. NFS로 공유한 파일에는 일반적인 소유권과 접근 권한이 그대로 적용됩니다. 원격 시스템에서 어떤 사용자가 파일 소유자와 같은 UID로 공유 디렉터리에 접근해서 파일을 마음대로 사용할 수 있습니다. 루트 권한이 부여된 ..

article thumbnail
[K8S] 파일(.yaml)에서 문자열 검색 한 후 그 문자열의 라인 넘버 가져오기
... 2021. 11. 26. 11:02 댓글 0건

설명은 필요없고 결론만 알고 싶은 분들을 위한 $ sed "$(grep -n 'image:' nginx.yaml | grep -Eo '^[^:]+')s/nginx:1.0/nginx:2.0/g" nginx.yaml 본문의 기능이 필요한 상황 예시 위 이미지는 개발자가 코드를 커밋한 후 자동으로 k8s cluster에 배포되기 까지의 과정을 파이프라인으로 도식화한 이미지입니다. 개발자가 운영 중인 서비스에 새로운 기능을 추가하거나 버그를 수정 했다고 가정해봅시다. 그렇게 될 경우 GitOpsRepo의 있는 컨테이너 이미지의 버전 또한 바꿔주어야 합니다. 그렇게 될 경우 젠킨스에서 GitOps Repo에 push를 할 때 새롭게 만든 컨테이너 이미지의 버전으로 수정해줘야 합니다. 그래야 argoCD에서 git..

article thumbnail
[K8S]unable to fetch the kubeadm-config ConfigMap: failed to get config map: UnauthorizedTo see the stack trace of this error execute with --v=5 or higher 에러
... 2021. 11. 23. 00:11 댓글 0건

만약 kubeadm을 통해 master에 node join을 시도할 경우 아래와 같이 오류가 난다면 ubuntu@node:~$ sudo kubeadm join 192.168.241.92:6443 --token 4rlhh1.4dehcs172qy9enyj --discovery-token-ca-cert-hash sha256:b5347bb4959f63e6100142700db4b7d69ea0d860c332265a1748cef29698f814 [preflight] Running pre-flight checks [WARNING IsDockerSystemdCheck]: detected "cgroupfs" as the Docker cgroup driver. The recommended driver is "systemd"..

article thumbnail
[Kubernetes] kubeadm 이용하여 k8s Cluster 배포하기(공식문서 위주)
... 2021. 11. 19. 16:25 댓글 0건

AWS EKS 나 GCP GKE를 이용하면 어렵지 않게 쿠버네티스 클러스터를 구축할 수 있지만 퍼블릭 클라우드를 이용하지 않고 온프레미스 환경에서 쿠버네티스 클러스터를 구축하기란 쉬운 일은 아닙니다. (최소 저한테는 ㅜㅜ) 그래서 이번 글에서는 k8s 공식 문서를 보고 온프레미스 환경에서 클러스터를 구축해보겠습니다. 클러스터 구축에 초점을 맞춰서 k8s 와 k8s 내 오브젝트들에 대한 설명을 생략하겠습니다. 또한 마스터 노드와 워커 노드에서 수행할 행위가 다르므로 각 부분마다 표시하겠습니다. 그리고 반드시 진행 순서는 지켜주셔야 합니다. 만약 설치 하시다가 잘못된 느낌이 든다면 kubeadm reset 명령어를 통해 리셋해주시고 다시 진행하시기 바랍니다. 우선 미리 준비되어야 할 환경은 아래와 같습니다...

article thumbnail
[Network] netstat 명령어를 이용한 라우팅 테이블 확인
... 2021. 11. 17. 10:38 댓글 0건

https://reboot.co.kr/13.html 1.라우팅 테이블이란 내 PC를 가지고 할수 있는 일은 다음과 같다. 1) 옆자리에 앉아 있는 사람과 IPX로 스타크래프트를 한다. 2) 미국에 있는 마이크로 소프트사의 홈페이지에 접속한다 reboot.co.kr 1.라우팅 테이블이란 내 PC를 가지고 할수 있는 일은 다음과 같다. 1) 옆자리에 앉아 있는 사람과 IPX로 스타크래프트를 한다. 2) 미국에 있는 마이크로 소프트사의 홈페이지에 접속한다. 3) 기타 .. 그렇다면, 어떻게해서 내 PC는 옆자리와 미국의 PC를 구분해서 찾아나가게 되는것일까 ? 옆에있는 PC는 당연히 옆에 있으니까 바로 연결되는것이다라고 생각하는 분은 PC의 마음을 헤아리지 못한것이다. PC는 자신의 라우팅 테이블을 가지고 다..

article thumbnail
[Linux] Add Directory to $PATH in Linux
... 2021. 11. 12. 11:52 댓글 0건

When you type a command on the command line, you’re basically telling the shell to run an executable file with the given name. In Linux, these executable programs like ls , find , file and others, usually live inside several different directories on your system. Any file with executable permissions stored in these directories can be run from any location. The most common directories that hold ex..

article thumbnail
[Jenkins] How to use SED in a Jenkins Pipeline
... 2021. 11. 11. 15:42 댓글 0건

How to use SED in a Jenkins Pipeline how to use sed in jenkinsfile devopsian.net Have you ever had a task to update a single line in a file? There few utilities to help with that task, and I find sed superior on the alternatives. sed is a stream editor, with which you can modify files. It’s a great utility in your toolbox. If you’re unfamiliar with it, here’s a [link for a quick intro. I had to ..

article thumbnail
[Docker] 컨테이너 설정 오류로 인한 실행불가 상태에서 컨테이너 수정하기
... 2021. 11. 10. 09:57 댓글 0건

톰캣 이미지가 설치된 컨테이너를 run으로 실행할 경우 docker run --name tomcat8 -i -t -d -p 8088:8080 tomcat-set1 톰캣이 자동으로 실행되면서 발생한 오류로 Docker 컨테이너가 실행되지 않았다. 아래 명령어로 컨테이너 에러 로그를 열어 보았고 docker logs -t CONTAINER ID 원인은 톰캣 실행시 server.xml에 설정한 경로가 존재하지 않아서 였다. server.xml을 수정해야 하는데 컨테이너 자체가 실행되지 않기 때문에 방법을 고민하다가 결국 구글에 검색해보니 스택오버플로우의 이 글의 답변 중 적절한 해결 방법을 찾았다. 해결방법 컨테이너는 정지 상태에 있지만 안에 있는 파일을 호스트OS로 복사할 수 있었다. 파일을 복사해와서 안에..

보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력해주세요.
article thumbnail
[Docker] 컨테이너 시간 변경 방법
... 2021. 11. 1. 10:30 댓글 0건

docker 컨테이너 시간바꾸기 -컨테이너 접속 후 # dpkg-reconfigure tzdata - 한국 서울 기준 6(Asia) -> 68(Seoul) 선택 # date로 변경된 시간 확인 후 docker 재시작

article thumbnail
[Linux] dig 명령어와 사용법
... 2021. 10. 28. 12:23 댓글 0건

dig (domain information groper) 란? dig는 네트워크 관리 도구 중 하나로 DNS (Domain Name System) 를 질의할 수 있는 도구입니다. nslookup 도구를 사용하여 DNS 를 질의할 수 있지만, 보다 더 편한 인터페이스와 사용법을 제공합니다. 이와 더불어 IDN (Internationalized Domain Name) 쿼리를 지원합니다. (nslookup도 지원) dig 설치 최근 OS들에는 dig 커맨드가 기본으로 설치되어 있습니다. 만약, dig 커맨드가 없을 경우 아래의 방법으로 설치하면 됩니다. Mac brew install dig Windows 첫 번째 방법으로는, ISC 다운로드 에 접속하여 다운로드 할 수 있습니다. windows dig 설치 두..

article thumbnail
[K8S] EKS 클러스터 인증(authenfication) 및 권한(authorization) 설정하기
... 2021. 10. 27. 16:02 댓글 0건

쿠버네티스 API 요청 과정 간단하게 API Server에 접근하기 까지 프로세스를 보면, 첫번째, 요청을 보냈을 때 인증(Authentication) 과정을 거친다. "너는 k8s cluster에 등록된 사용자가 맞는거지?" 두번째, 인증 과정을 통과한 후 인가(Authorization) 과정을 거친다. "등록된 사용자는 맞고 이 액션을 할 수 있는 권한은 있니?" 세번째, 인증과 인가를 통과하게 되면 Admission Control을 거친다. "너가 보낸 요청을 적절한지 확인해볼까?" 이 과정을 무사히 마치면 "요청 승인"이 된다. 하지만 만약 한 과정이라도 적절치 않다면 "요청 반려"가 된다. 그럼 본격적으로 AWS EKS를 이용하여 만든 클러스터에 최초 생성한 IAM 사용자가 아닌 새롭게 만든 I..

article thumbnail
[Kubernetes] 쿠버네티스 Docker Hub-Private Image 가져오는 방법
... 2021. 10. 25. 13:19 댓글 0건

쿠버네티스 Docker Hub-Private Image 가져오는 방법 Private Image를 가져와야 할 때 쿠버네티스의 secret을 이용하면 됩니다. 이 글에서는 Docker Hub을 기준으로 작성 합니다. 우선 Private Image 가져오는 방법인 만큼 아래와 같이 이미 Docker Hub에 이미지가 등록되어 있다는 가정하에 진행 합니다. 쿠버네티스 매니페스트 파일 작성 저는 아래와 같이 간단한 Deployment를 설정해주는 매니페스트 파일(.yaml)을 작성 하였습니다. Private Image를 가져와서 사용할 매니페스트 파일을 vi편집기로 여신 후 spec.template.spec.ImagePullSecrets.name 필드에 임의의 값을 설정 해줍니다. 이 값은 이후 생성할 secr..

article thumbnail
[Kubernetes] Cert manager Kubernetes 통신 암호화 및 자동화
... 2021. 10. 25. 10:27 댓글 0건

Cert-manager란? Cert-manager는 Kubernetes 내부에서 HTTPS 통신을 위한 인증서를 생성하고, 또 인증서의 만료 기간이 되면 자동으로 인증서를 갱신해주는 역할을 하는 Certificate manager controller입니다. 쉽게 말해 Kubernetes 내에서 외부에 존재하는 Issuers를 활용하거나 selfsigned Issuer를 직접 생성해서 생성하여 Certificate를 생성하고, 이때 생성된 Certificate를 관리하며 인증서의 만료 시간이 가까워지면 인증서를 자동으로 갱신해줍니다. Cert-manager가 사용하는 외부에 존재하는 Issuer는 아래의 이미지와 같은데, 대표적인 Issuer로 무료로 사용되고 있는 let's enscrypt를 많이 사용하..

article thumbnail
[MySQL] 덤프 / 임포트 하기 Dump / Import
... 2021. 10. 22. 10:55 댓글 0건

Import $ mysql -u계정 -p 데이터베이스명 파일을 저장할 위치/파일명 ex) $ mysqldump -uroot -p1234 databasename > dump.sql 특정 테이블만 dump하기 (임포트는 어차피 똑같이 테이블을 DB에 import 하는거니까 위와 동일) $ mysqldump -u 계정 -p 데이터베이스명 테이블명 > 파일을 저장할 위치/파일명 ex) $ mysqldump -uroot -p1234 databasename tablename > dump.sql 특정 조건에 부합되는 rows만 dump하..

article thumbnail
[MySQL] MySQL 권한
... 2021. 10. 22. 10:47 댓글 0건

1. MySQL의 기본테이블 MySQL은 처음 설치시에 'mysql'이라는 데이타베이스를 생성한다. 이 데이타베이스는 db,host,user, tables_priv,columns_priv, function라는 기본테이블을 가지고 있다. 이 테이블들은 MySQL의 권한과 관련이 있다. 2. MySQL의 기본테이블과 권한 (1) user테이블 : 전체서버에 적용되는 권한정보를 포함하고 있다. (2) host테이블 : 호스트전체에 대한 서버의 접근권한을 부여한다. (3) db테이블 : 각각의 데이타베이스에 접근 권한을 설정한다. (4) tables_priv : 테이블에 대한 접근권한을 설정한다. (5) columns_priv : 행에 대한 접근 권한을 설정한다. (6) function : 사용자정의 mysql..

article thumbnail
[Docker] Configuring MySQL NDB Cluster by using Docker and pointing with WSO2 APIM
... 2021. 10. 22. 09:09 댓글 0건

This text is written by Nadee Poornima To achieve the high availability and scaling of MySQL they have introduced two types of MySQL clusters as MySQL InnoDB Cluster(using InnoDB as the engine) and MySQL NDB Cluster (using NDB engine). Currently, WSO2 products are supporting for this NDB Cluster, and today I am going to explain how to set up an NDB Cluster by using a Docker image of NDB Cluster...

article thumbnail
[Docker] 컨테이너에 데이터 저장 (볼륨/바인드 마운트)
... 2021. 10. 20. 10:35 댓글 0건

Docker 컨테이너(container)에 쓰여진 데이터는 기본적으로 컨테이너가 삭제될 때 함께 사라지게 됩니다. Docker에서 돌아가는 많은 애플리케이션이 컨테이너의 생명 주기와 관계없이 데이터를 영속적으로 저장을 해야하는데요. 뿐만 아니라 많은 경우 여러 개의 Docker 컨테이너가 하나의 저장 공간을 공유해서 데이터를 읽거나 써야합니다. 이렇게 Docker 컨테이너의 생명 주기와 관계없이 데이터를 영속적으로 저장할 수 있도록 Docker는 두가지 옵션을 제공하는데요. 첫번째는 Docker 볼륨(volume), 두번째는 바인드 마운트(bind mount)입니다. 이번 포스팅에서는 Docker 컨테이너에 데이터를 저장하는데 사용되는 이 두가지 방법에 대해서 알아보도록 하겠습니다. 볼륨 생성 및 조회 ..

[Linux] sed 에러 (sed: -e expression #1, char 12: unknown option to `s`)
... 2021. 10. 19. 14:04 댓글 0건

sed 명령어를 사용할 때 " / " 가 기본 구분자이지만 "/home" 을 "/home2" 로 치환을 할 때 동일한 특수문자를 사용하여 생기는 현상이였다. 구글링을 하니 sed 명령어의 모든 구분자는 모든 기호가 구분자가 될 수 있다고 한다. 리눅스 쉘 스크립트 등에서 sed를 사용할 때 "sed: -e expression #1, char 12: unknown option to `s`" 와 같은 에러가 발생할 수 있습니다. 일반적으로 sed -i "s/string/number/gi" 와 같이 사용될텐데, /를 |로 변경시켜 주거나 문자열 안에 /가 있다면 \/ 로 사용하여 이스케이프 시켜주어야 합니다. ex1) sed -i "s/string/number/gi" --> sed -i "s|string|nu..

profile on loading

Loading...