Sugiro que você use uma função de shell em vez de um alias.
runds(){
set srcds_run \
-game "${1-csgo}" \
-console \
-usercon \
+game_type "${5-0}" \
+game_mode "${6-1}" \
+map "${2-de_dust2}" \
+mapgroup "${3-mg_active}" \
-tickrate "${4-128}"
if command -v "./$1" >/dev/null
then "./$@"; else "$@"
fi
}
O acima é uma função shell que você pode executar em um prompt de comando com copiar / colar agora, ou então colar no arquivo de ambiente do seu shell (como ~/.bashrc
) que irá parametrizar seu comando. Após a função ter sido definida no ambiente do seu shell, você pode digitar o comando runds
sem argumentos para usar apenas os argumentos que você nomeou em sua pergunta, ou então, se você fornecer argumentos, ele usará aqueles que você especificar para substituir o argumento. padrões atribuídos para $1
... $6
em ordem.
Eu tentei adivinhar quais argumentos você tinha mais chances de querer mudar ocasionalmente do que outros e ordená-los de acordo, mas também preservou a ordem da linha de comando na pergunta, caso isso importasse. É por isso que eles não aparecem em ordem numérica na declaração set
.
Eu também o configurei para que a função primeiro tente executar ./srcds
, mas, se isso falhar, ele ainda tentará executar um comando srcds
, que pode estar em outro local localizado em $PATH
caso.
De qualquer forma, o ponto é, se você fizer isso ...
runds
... no prompt do seu shell, então o comando que a função tentará executar será ...
./srcds_run \
-game csgo \
-console \
-usercon \
+game_type 0 \
+game_mode 1 \
+map de_dust2 \
+mapgroup mg_active \
-tickrate 128
... se ./srcds_run
for um arquivo que o shell pode tentar executar, ou então tentará o mesmo comando, mas sem o primeiro ./
, senão ele falhará com erro e informará.
Mas se você fizer isso ...
runds other_game new_map
Em seguida, o comando tentado será alterado um pouco ...
./srcds_run \
-game other_game \
-console \
-usercon \
+game_type 0 \
+game_mode 1 \
+map new_map \
+mapgroup mg_active \
-tickrate 128
... será o comando que ele tenta executar, com as mesmas notas de antes sobre ./
e assim por diante, é claro.