리액트

리눅스 명령어로 파일생성하기

두캔두잇 2025. 1. 10. 11:16

github workflows를 작성하면서 리눅스명령어로 파일을 만들어보려고 하다가 알게 된 내용을 정리하려한다.

사실 알고있던 명령어는

  1. cd : 디렉토리 변경
  2. ls : 현재 디렉토리의 목록들(파일)
  3. rm : 파일 또는 디렉토리 삭제

이렇게 였다.

새로운 명령어들도 익힐 겸 yml 파일을 만들어 환경변수에 어떤 값을 담고, 그 값을 출력하는 것을 해보았다.

그 전의 과정은 생략하고 jobs만 보려고한다. 참고로 환경은 ubuntu에서 진행했다.

    jobs:
        build:
             runs-on: ubuntu-latest
     steps:
     -name : (name부분은 생략가능함)
     run : pwd
  • pwd : 현재 작업중인 디렉토리 경로 확인

이렇게 현재 경로를 확인 한 다음 새로운 경로를 만들고 txt파일을 만들어 볼 것이다.

jobs:
        build:
             runs-on: ubuntu-latest
     steps:
     -name : (name부분은 생략가능함)
     run : |
         // pwd로 현재 경로를 알았으니
        cd/현재 경로
        mkdir -p GGG  // GGG 라는 경로 생성
        cd GGG // GGG 경로로 이동
        echo "test" > abcd.txt // abcd.txt 파일을 만들고 test라는 문자열을 넣음
        export [환경변수]=$(cat abcd.txt) // abcd.txt의 값을 환경변수에 할당
        echo $[환경변수] // 환경변수값 출력

여기서 새롭게 알게된 명령어들이 있다.

  1. mkdir : 새로운 디렉토리 생성
  2. p 옵션 : 중복됐다면 패스, 만약 -p가 없다면 중복되는 이름의 경로가 있다면 에러 발생
  3. echo : 문자열 출력
  4. cat : 파일의 내용 출력
  5. touch : 새로운 파일 생성

그리고 또 한 가지가 있는데, run은 동작이 한번만 실행이 된다. 하지만 여러 줄을 실행시킬 수 있는 방법이 있는데
바로 " | " 를 사용함으로써 여러 줄을 실행할 수 있다.

처음에는

 echo "test" > abcd.txt 
        export [환경변수]=$(cat abcd.txt)
        echo [환경변수] 

이 부분에서 환경변수를 출력하기 위해 echo 환경변수 이렇게 했는데 test라는 문자열이 출력이 되지 않았다.
그 이유는 환경변수를 출력을 하기 위해서는 $ 를 붙여야 한다는 것이다.
echo 환경변수를 하게된다면 환경변수 그 자체를 출력하는 것이기 때문이다. 그래서 특정 변수의 값을 참조하기 위해서는
$환경변수 이런 식으로 해야하는 것이다.

그리고 궁금한게 cat과 echo의 차이점이 뭐지? 라는 생각이 들어 조사해봤는데

cat

  • 파일의 내용을 출력

echo

  • 문자열 출력

사실 파일의 내용이 곧 문자열일테니 똑같지 않을까? 라는 생각이있었는데 미묘한 차이가 있었다.
정리하자면 파일의 내용을 출력하고 싶다면 cat이 맞고 문자열이나 특정 변수를 출력하려면 echo를 사용한다.

'리액트' 카테고리의 다른 글

Docker Container  (0) 2025.01.14
React Context  (0) 2025.01.03
supabase  (1) 2025.01.02
react useHook - useRef  (0) 2025.01.01
프론트 FSD Pattern 에 대해서  (0) 2024.12.31