bachrc로 무언가를 하고 AtCoder 대회 제출 등에 드는 비용을 최소화한 이야기
                                            
                                                
                                                
                                                
                                                
                                                
                                                 6994 단어  ShellScriptC++bashrcBashAtCoder
                    
가정 조건
atcoder-cli 및 online-judge-tools 설치
설치되지 않은 분은 여기을 참조하십시오.
 내 환경
우분투18.04
 내 AtCoder 용 디렉토리 개요
홈
┣ AtCoder
 ┣ ABC160
    ┣ a.cpp
    ┣ b.cpp
    ┣ c.cpp
      ︙
 ┣ ABC161
 ┣ ABC162
    ︙
 ┣ Contest//콘테스트용 디폴트 디렉토리
위 그림과 같이 되어 있습니다. 자세히 보고 싶은 분은 여기
 소개
본 페이지에서 소개하는 함수들은,
내가 사용하기 쉽다고 느끼는, 나의 나에 의한 나를 위해서만의 함수들입니다.
또한 내가 콘테스트에 C++에서만 참여한 영향으로 C++에만 대응하고 있습니다.
불편하게 느끼는 곳은 좋아하게 개조해 각자 행복하게 되어 주세요.
어딘가의 누군가의 참고가 되면 다행.
그런 것입니다.
 했던 일
bashrc로 함수를 여러가지 만들어 정평의 커멘드를 한 번에 실행할 수 있도록(듯이) 했습니다.
이 기사에서는 코드와 명령의 의미, 역할 등의 설명을 생략합니다.
이하, 만든 함수를 4개 소개합니다.
 1. 콘테스트용 디렉토리를 만들고 그 디렉토리를 Atom에서 여는 함수
.bashrcfunction accdir () {
    cd ~/AtCoder/;
    cp -a Contest/ $1;
    atom $1;
    cd $1;
}
alias acd=accdir
 사용방법
아래 이미지와 같이
acd ABC178
같은 느낌으로 박는 것으로,
"AtCoder"디렉토리 안에 "ABC178"라는 디렉토리를 새롭게 만들고,
그 디렉토리를 Atom에서 열고, 단말에서는 “ABC178” 디렉토리로 이동하고 있습니다.
 
 2. 코드 테스트, 코드 제출용 디렉토리를 만드는 함수
atcoder-cli 기능으로 코드 테스트 및 코드 제출 디렉토리를 만듭니다.
왜 일부러 디렉토리명을 “s”로 바꾸고 있는 것인가. 그 이유는 다음과 그 또 다음의 함수를 보면 알 수 있습니다.
.bashrcfunction accnew () {
    acc new $1;
    mv $1 s;
}
alias acn=accnew
 사용방법
왼쪽 하단 이미지와 같이 이전의 acd 명령으로 만든 디렉토리에서
acn abc178
를 입력하면 ABC178의 다운로드 문제를 지정하라는 메시지가 표시됩니다.
거기에서 선택하고 Enter를 누르면,
오른쪽 하단의 이미지처럼 다운로드되어 디렉토리가 생성됩니다.
이 명령은 atcoder-cli의 특성상 콘테스트가 시작된 후에만 사용할 수 있으므로 주의하십시오.
(이미 종료된 콘테스트에서는 문제없이 사용할 수 있습니다.)
  
 
 3. 코드를 제출하는 함수
.bashrcfunction accsubmit () {
    path=$PWD;
    cpp='.cpp';
    name=$1${cpp};
    cp ${name} s/$1/;
    cd s/$1;
    acc submit ${name};
    cd;
    cd ${path};
}
alias acs=accsubmit
 사용방법
아래 그림과 같이 acd 명령으로 만든 디렉토리에서
acs a
등으로 몰아넣으면 문제 제출이 가능합니다.
첫 번째 인수에 a 를 넣으면 a문제를 제출. b 를 넣으면 b문제를 제출할 수 있습니다.
이런 느낌.
 
 ![]()
 4. 코드를 테스트하는 함수
.bashrcfunction acctest () {
    path=$PWD;
    cpp='.cpp';
    name=$1${cpp};
    cp ${name} s/$1/;
    cd s/$1;
    g++ ${name};
    oj t -d ./tests/;
    cd;
    cd ${path};
}
alias act=acctest
 사용방법
아래 그림과 같이 acd 명령으로 만든 디렉토리에서
act a
등으로 박는 것으로, 테스트 케이스의 검증을 할 수 있습니다.
첫 번째 인수에 a를 넣으면 a 문제를, b를 넣으면 b 문제를 테스트 할 수 있습니다.
이런 느낌.
 
 사이고에게
 여기 로 수시로 갱신한 것을 들고 있으므로, 최신 버젼을 보고 싶은 분은 부디.
여러분도 편안한 bash 생활을 보내세요 ~!
그럼.
                
                    
        
    
    
    
    
    
                
                
                
                
                    
                        
                            
                            
                            Reference
                            
                            이 문제에 관하여(bachrc로 무언가를 하고 AtCoder 대회 제출 등에 드는 비용을 최소화한 이야기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
                                
                                https://qiita.com/takashi_rits/items/7ac4118d4526037a37f2
                            
                            
                            
                                텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                            
                            
                                
                                
                                 우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                            
                            
                        
                    
                
                
                
            
본 페이지에서 소개하는 함수들은,
내가 사용하기 쉽다고 느끼는, 나의 나에 의한 나를 위해서만의 함수들입니다.
또한 내가 콘테스트에 C++에서만 참여한 영향으로 C++에만 대응하고 있습니다.
불편하게 느끼는 곳은 좋아하게 개조해 각자 행복하게 되어 주세요.
어딘가의 누군가의 참고가 되면 다행.
그런 것입니다.
했던 일
bashrc로 함수를 여러가지 만들어 정평의 커멘드를 한 번에 실행할 수 있도록(듯이) 했습니다.
이 기사에서는 코드와 명령의 의미, 역할 등의 설명을 생략합니다.
이하, 만든 함수를 4개 소개합니다.
 1. 콘테스트용 디렉토리를 만들고 그 디렉토리를 Atom에서 여는 함수
.bashrcfunction accdir () {
    cd ~/AtCoder/;
    cp -a Contest/ $1;
    atom $1;
    cd $1;
}
alias acd=accdir
 사용방법
아래 이미지와 같이
acd ABC178
같은 느낌으로 박는 것으로,
"AtCoder"디렉토리 안에 "ABC178"라는 디렉토리를 새롭게 만들고,
그 디렉토리를 Atom에서 열고, 단말에서는 “ABC178” 디렉토리로 이동하고 있습니다.
 
 2. 코드 테스트, 코드 제출용 디렉토리를 만드는 함수
atcoder-cli 기능으로 코드 테스트 및 코드 제출 디렉토리를 만듭니다.
왜 일부러 디렉토리명을 “s”로 바꾸고 있는 것인가. 그 이유는 다음과 그 또 다음의 함수를 보면 알 수 있습니다.
.bashrcfunction accnew () {
    acc new $1;
    mv $1 s;
}
alias acn=accnew
 사용방법
왼쪽 하단 이미지와 같이 이전의 acd 명령으로 만든 디렉토리에서
acn abc178
를 입력하면 ABC178의 다운로드 문제를 지정하라는 메시지가 표시됩니다.
거기에서 선택하고 Enter를 누르면,
오른쪽 하단의 이미지처럼 다운로드되어 디렉토리가 생성됩니다.
이 명령은 atcoder-cli의 특성상 콘테스트가 시작된 후에만 사용할 수 있으므로 주의하십시오.
(이미 종료된 콘테스트에서는 문제없이 사용할 수 있습니다.)
  
 
 3. 코드를 제출하는 함수
.bashrcfunction accsubmit () {
    path=$PWD;
    cpp='.cpp';
    name=$1${cpp};
    cp ${name} s/$1/;
    cd s/$1;
    acc submit ${name};
    cd;
    cd ${path};
}
alias acs=accsubmit
 사용방법
아래 그림과 같이 acd 명령으로 만든 디렉토리에서
acs a
등으로 몰아넣으면 문제 제출이 가능합니다.
첫 번째 인수에 a 를 넣으면 a문제를 제출. b 를 넣으면 b문제를 제출할 수 있습니다.
이런 느낌.
 
 ![]()
 4. 코드를 테스트하는 함수
.bashrcfunction acctest () {
    path=$PWD;
    cpp='.cpp';
    name=$1${cpp};
    cp ${name} s/$1/;
    cd s/$1;
    g++ ${name};
    oj t -d ./tests/;
    cd;
    cd ${path};
}
alias act=acctest
 사용방법
아래 그림과 같이 acd 명령으로 만든 디렉토리에서
act a
등으로 박는 것으로, 테스트 케이스의 검증을 할 수 있습니다.
첫 번째 인수에 a를 넣으면 a 문제를, b를 넣으면 b 문제를 테스트 할 수 있습니다.
이런 느낌.
 
 사이고에게
 여기 로 수시로 갱신한 것을 들고 있으므로, 최신 버젼을 보고 싶은 분은 부디.
여러분도 편안한 bash 생활을 보내세요 ~!
그럼.
                
                    
        
    
    
    
    
    
                
                
                
                
                    
                        
                            
                            
                            Reference
                            
                            이 문제에 관하여(bachrc로 무언가를 하고 AtCoder 대회 제출 등에 드는 비용을 최소화한 이야기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
                                
                                https://qiita.com/takashi_rits/items/7ac4118d4526037a37f2
                            
                            
                            
                                텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                            
                            
                                
                                
                                 우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                            
                            
                        
                    
                
                
                
            
function accdir () {
    cd ~/AtCoder/;
    cp -a Contest/ $1;
    atom $1;
    cd $1;
}
alias acd=accdir
acd ABC178
function accnew () {
    acc new $1;
    mv $1 s;
}
alias acn=accnew
acn abc178
function accsubmit () {
    path=$PWD;
    cpp='.cpp';
    name=$1${cpp};
    cp ${name} s/$1/;
    cd s/$1;
    acc submit ${name};
    cd;
    cd ${path};
}
alias acs=accsubmit
acs a
function acctest () {
    path=$PWD;
    cpp='.cpp';
    name=$1${cpp};
    cp ${name} s/$1/;
    cd s/$1;
    g++ ${name};
    oj t -d ./tests/;
    cd;
    cd ${path};
}
alias act=acctest
act a
여기 로 수시로 갱신한 것을 들고 있으므로, 최신 버젼을 보고 싶은 분은 부디.
여러분도 편안한 bash 생활을 보내세요 ~!
그럼.
Reference
이 문제에 관하여(bachrc로 무언가를 하고 AtCoder 대회 제출 등에 드는 비용을 최소화한 이야기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/takashi_rits/items/7ac4118d4526037a37f2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)