Ответ 1
вы также можете "нарезать", [email protected]
получает все аргументы в bash.
echo "${@:2}"
получает второй аргумент вперед
eg
$ cat shell.sh
#!/bin/bash
echo "${@:2}"
$ ./shell.sh 1 2 3 4
2 3 4
Если у вас есть список в python, и вы хотите, чтобы элементы от 2 до n могли делать что-то приятное, например
list[2:]
Я хотел бы что-то подобное с argv в Bash. Я хочу передать все элементы из $2 в argc в команду. В настоящее время у меня
command $2 $3 $4 $5 $6 $7 $8 $9
но это менее элегантно. Было бы "правильным" способом?
вы также можете "нарезать", [email protected]
получает все аргументы в bash.
echo "${@:2}"
получает второй аргумент вперед
eg
$ cat shell.sh
#!/bin/bash
echo "${@:2}"
$ ./shell.sh 1 2 3 4
2 3 4
Сохраните $1
где-нибудь, затем shift
и используйте [email protected]
?
script1.sh:
#!/bin/bash
echo [email protected]
script2.sh:
#!/bin/bash
shift
echo [email protected]
$ sh script1.sh 1 2 3 4
1 2 3 4
$ sh script2.sh 1 2 3 4
2 3 4