저는 SSH를 통해 게임 서버를 설정하고 있는데, 그렇게 오래 입력하지 않고도 매개변수를 사용하여 실행할 수 있는 파일(예: Windows 배치 파일)을 실행할 수 있는지 궁금합니다.
내가 원하는 것은 실행될 파일입니다
./srcds_run -game csgo -console -usercon +game_type 0 +game_mode 1 +mapgroup mg_active +map de_dust2 -tickrate 128
매번 모든 내용을 입력하거나 위키 페이지에서 복사할 필요가 없습니다.
문제가 해결된 사람들을 위해 명확히 하기 위해 내 서버는 CentOS를 실행하고 있습니다.
답변1
게임이 있는 디렉토리에 간단한 쉘 스크립트를 넣으십시오.
#!/bin/sh
cd $(dirname $0)
./srcds_run -game csgo -console -usercon +game_type 0 +game_mode 1 +mapgroup mg_active +map de_dust2 -tickrate 128
스크립트를 다른 곳에 배치하려면 전체 경로를 사용해야 합니다.
#!/bin/sh
/path/to/srcds_run -game csgo -console -usercon +game_type 0 +game_mode 1 +mapgroup mg_active +map de_dust2 -tickrate 128
답변2
따라서 다음에서 별칭을 만들어야 합니다 .bash_profile
.
alias game="./srcds_run -game csgo -console -usercon +game_type 0 +game_mode 1 +mapgroup mg_active +map de_dust2 -tickrate 128"
그런 다음 source .bash_profile
다시 로그인하거나(새 game
명령 로드) 마지막으로 game
.
답변3
별칭을 추가한 후 키보드 설정에서 단축키를 바인딩하여(ofc 분포에 따라) 매우 빠르고 쉽게 실행할 수도 있습니다.
(예: Windows+G)
답변4
csgo
에 나열된 디렉토리에 이름(또는 입력하려는 이름)의 파일을 만듭니다 echo $PATH
. 일반적인 디렉터리는 /usr/local/bin
모든 사용자가 스크립트를 실행할 수 있도록 하려는 경우이고, 스크립트가 자신만을 위한 경우 ~/bin
에는 bin
홈 디렉터리 아래에 있습니다. 스크립트에 다음 내용을 작성합니다.
#!/bin/sh
/path/to/srcds/srcds_run -game csgo -console -usercon +game_type 0 +game_mode 1 +mapgroup mg_active +map de_dust2 -tickrate 128
/path/to/srcds
설치 프로그램 경로( srcds_run
실행 파일이 있는 디렉터리) 로 바꿉니다 .
Windows 편집기를 사용하여 스크립트를 편집하는 경우 Unix(LF) 줄 끝을 사용하도록 지시해야 합니다. Windows(CRLF) 줄 끝은 작동하지 않습니다.
"$@"
줄 끝에 공백을 추가 하면 매개변수를 스크립트에 전달하여 프로그램에 전달할 수 있습니다.
#!/bin/sh
/path/to/srcds/srcds_run -game csgo -console -usercon +game_type 0 +game_mode 1 +mapgroup mg_active +map de_dust2 -tickrate 128 "$@"
다른 디렉토리에서 프로그램을 호출할 때 해당 파일을 찾을 수 없으면 먼저 해당 디렉토리로 전환하십시오.
#!/bin/sh
cd /path/to/srcds &&
./srcds_run -game csgo -console -usercon +game_type 0 +game_mode 1 +mapgroup mg_active +map de_dust2 -tickrate 128 "$@"
파일을 저장한 후 실행 가능하게 만듭니다. 명령줄에서(올바른 경로를 사용하여 스크립트를 저장하세요):
chmod +x ~/bin/csgo
이제 명령을 입력하여 프로그램을 실행할 수 있습니다 csgo
.