매개변수를 사용하여 프로그램을 실행하기 위한 쉘 스크립트

매개변수를 사용하여 프로그램을 실행하기 위한 쉘 스크립트

저는 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.

관련 정보