La forma más expansible y robusta probablemente sería usar una matriz para contener el parámetro opcional (s):
params=()
if [[ $CONDITION == true ]]; then
params+=(--param2)
fi
script param1 "${params[@]}"
O abreviado:
[[ $CONDITION == true ]] && params+=(--param2)
script param1 "${params[@]}"
Eso evita repetir la parte constante del comando y puede poner más de un argumento en la matriz, incluso el comando completo.
Tenga en cuenta que es importante hacer esto con una matriz :si reemplaza la matriz con una variable regular(params="--param2"; script param1 $params
)tendrá que expandir la variable sin comillas, con todos los problemas que trae, o expandirla entre comillas, en cuyo caso pasará una cadena vacía como argumento si la variable está vacía.
En un caso simple como este, también se puede usar la expansión de "valor alternativo":
cond=x
p2="--param2"
script param1 ${cond:+"$p2"}
Aquí, si cond
no está vacío (independientemente de si es cond=false
o cond=0
en lugar de cond=true
), el valor de p2
se expande. Esto puede parecer menos feo que las matrices, pero tenga cuidado con la ubicación de las comillas.
Véase también:
git clone https://github.com/brektrou/rtl8821CU.git
попробуйте это, так как для этого чипсета нет официального драйвера Linux:(