Linear Algebra
🧢

bashrc 설정하기

우분투에서 기본적으로 사용하는 shell은 bash입니다. 이러한 bash를 초기설정을 제어하기 위해 저장되어 있는 파일이 바로 bashrc입니다. 이 파일에 내가 쉘에 미리 입력하고 싶은 내용을 작성하면 따로 힘을 들이지 않고 컴퓨터가 미리 그 명령을 실행하여 줍니다.

목표

bash 창을 열면 기본적으로 “ros-foxy” 가 실행되도록 하기
간단한 단축어로 “ros-foxy”, “ros-noetic” 왔다갔다 실행하기
간단한 단축어로 bashrc 리로드와 파일 열기
기본적으로 ros를 실행하기 위해서 가장 먼저 작성해야 하는 코드는 source /opt/ros/foxy/setup.bash 입니다. 위 코드는 sudo apt install 로 명령으로 설치된 ROS 패키지를 실행하기 위해 필요합니다!
일일히 매번 bash shell이 열릴 때마다 이것을 작성하는 것은 매우 귀찮은 일입니다. 이를 위해서 bashrc에 위 코드를 미리 작성하여 둡시다.
gedit ~/.bashrc # bashrc 파일 열기 # 코드 아랫단으로 이동 source /opt/ros/foxy/setup.bash # bash 실행시 foxy 실행
Shell
복사
이렇게 설정하게 되면 따로 힘들이지 않고 바로 ros-foxy를 실행시킬 수 있습니다.
하지만 대부분의 경우 ros2 foxy 뿐 아니라 다른 버전의 ros를 같이 사용할 수도 있습니다. 특히, 저의 경우 ros2 foxy와 ros1 noetic를 같이 사용합니다. 두 가지 버전을 편리하게 사용하기 위해서 단축어를 이용해 두 버전을 자유롭게 왔다갔다 하고 있습니다.
gedit ~/.bashrc # bashrc 파일 열기 # 코드 아랫단으로 이동 alias foxy="source /opt/ros/foxy/setup.bash; echo \"ROS2 foxy is activated\"" alias noetic="source /opt/ros/noetic/setup.bash; echo \"ROS1 noetic is activated\""
Shell
복사
ros에 대해 타이핑하는 부담감은 덜었지만, 여전이 bashrc를 리로드하고 에디팅을 위해 파일을 불러오는 것 또한 부담이 됩니다. 위 두가지도 alias 명령어를 통해 단축어로 만들도록 합니다.
gedit ~/.bashrc # bashrc 파일 열기 # 코드 아랫단으로 이동 alias sb="source ~/.bashrc; echo \"bashrc is reloaded\"" alias eb="gedit ~/.bashrc; echo \"bashrc file is opened\""
Shell
복사
이렇게 설정하게 되면 bash에 sb 명령어만 쳐도 source ~/.bashrc 를 친 것과 동일하게 작동하고, eb를 치면 bashrc text file이 등장하게 됩니다.
이외에도 alias를 이용하여 명령어 단축키를 사용할 수 있습니다. 아래는 제가 사용하는 단축키들입니다. (향후에도 추가할 수 있습니다.)
alias foxy="source /opt/ros/foxy/setup.bash; echo \"ROS2 foxy is activated\"" alias noetic="source /opt/ros/noetic/setup.bash; echo \"ROS1 noetic is activated\"" alias sb="source ~/.bashrc; echo \"bashrc is reloaded\"" alias eb="gedit ~/.bashrc; echo \"bashrc file is opened\"" alias de="conda deactivate; echo \"conda deactivated\"" alias ae="conda activate; echo \"conda activated\"" alias ju="jupyter notebook; echo \"notebook activated\""
Shell
복사