Вопросы с тегом «arguments»

Аргумент обычно определяется как фактическое значение, переданное функции, процедуре или программе командной строки.

2
Как удалить позиционный параметр из $ @
По сути, я хочу «вырвать» первое вхождение -infиз списка параметров. (Остальные параметры будут переданы другой команде.) Сценарий, который у меня есть, имеет следующую структуру: #!/bin/sh <CODE> for POSITIONAL_PARAM in "$@" do <CODE> if [ "$POSITIONAL_PARAM" = '-inf' ] then <PLUCK $POSITIONAL_PARAM FROM $@> break fi <CODE> done <CODE> some-other-command "$@" …

3
Как предотвратить внедрение команд через параметры команды?
У меня есть приложение-обертка, где мне нужно разрешить пользователю указывать пользовательские параметры для передачи в симулятор. Однако я хочу убедиться, что пользователь не вводит другие команды через пользовательские опции. Какой лучший способ сделать это? Например. Пользователь предоставляет: -a -b Приложение выполняет: mysim --preset_opt -a -b Однако я не хочу, чтобы …

4
Как мне разобрать необязательные аргументы в bash-скрипте, если не указан порядок?
Я запутался, как включить необязательные аргументы / флаги при написании сценария bash для следующей программы: Программа требует двух аргументов: run_program --flag1 <value> --flag2 <value> Однако есть несколько необязательных флагов: run_program --flag1 <value> --flag2 <value> --optflag1 <value> --optflag2 <value> --optflag3 <value> --optflag4 <value> --optflag5 <value> Я хотел бы запустить скрипт bash …

4
Почему не используется несколько команд с || или && условная работа?
Это работает в командной строке (bash, dash): [ -z "" ] && echo A || echo B A Тем не менее, я пытаюсь написать сценарий оболочки POSIX , он начинается так: #!/bin/sh [ "${#}" -eq 1 ] || echo "Invalid number of arguments, expected one."; exit 1 readonly raw_input_string=${1} [ …

2
Конкатенация строк Bash, используемая для построения списка параметров
Учитывая этот кусок Баш: PARMS='-rvu' PARMS+=" --delete --exclude='.git'" echo $PARMS rsync ${PARMS} . ${TARGET} Эхо показывает строку PARMS, как и ожидалось, ошибки не отображаются, но rsync работает тихо, как если бы опции, добавленные + =, не существовали. Тем не менее, это работает как ожидалось: PARMS='-rvu' rsync ${PARMS} --delete --exclude='.git' . …

3
Как я могу генерировать аргументы для другой команды с помощью подстановки команд
Вслед за: неожиданное поведение при подстановке команд оболочки У меня есть команда, которая может принять огромный список аргументов, некоторые из которых могут законно содержать пробелы (и, возможно, другие вещи) Я написал скрипт, который может генерировать эти аргументы для меня, с кавычками, но я должен скопировать и вставить вывод, например ./somecommand …

3
Как выполнить команду повторно с разными аргументами?
Я на Ubuntu. Я скопировал некоторые аргументы (разделенные символом новой строки), и я могу использовать xsel, чтобы распечатать их следующим образом $ xsel arg1 arg2 arg3 arg4 ... Теперь я хочу использовать каждый из этих аргументов для другой команды и выполнять эту команду столько раз, сколько есть аргументов. Так я …

3
Есть ли простой способ регистрировать все выполненные команды, включая аргументы командной строки?
Я пытаюсь найти способ регистрации конкретного экземпляра, rrdtoolчтобы увидеть, является ли путь, который он получает, неверным. Я знаю, что мог бы обернуть исполняемый файл в сценарий оболочки, который бы регистрировал параметры, но мне было интересно, есть ли более специфичный для ядра способ контроля за этим, возможно, обратный вызов файловой системы, …
11 logs  proc  arguments  audit 


1
Удалить файлы старше 500 дней
У меня есть каталог с файлами 2010 года. Я хочу удалить все файлы старше 500 дней, и я попробовал это: find /var/log/arc/* -type f -mtime +500 -delete {}\; Но я получаю это: -bash: /usr/bin/find: Argument list too long Как я знаю, это означает, что файлов слишком много, и я findне …

2
Передавайте аргументы, чтобы они функционировали точно как есть
У меня есть следующая функция: bar() { echo $1:$2; } Я вызываю эту функцию из другой функции foo. fooСамо называется так: foo "This is" a test Я хочу получить следующий вывод: This is:a То есть аргументы, которые barполучают, должны быть теми же токенами, на которые я передаю foo. Как fooнужно …

3
Как передать найденные файлы как аргументы?
Сначала отрежьте тривиальные, но неприменимые ответы: я не могу использовать ни трюк find+, xargsни его варианты (например, findс -exec), потому что мне нужно использовать несколько таких выражений на вызов. Я вернусь к этому в конце. Теперь для лучшего примера давайте рассмотрим: $ find -L some/dir -name \*.abc | sort some/dir/1.abc …

4
Может ли скрипт оболочки распечатать свой аргумент, заключенный в кавычки, как вы бы написали их в приглашении оболочки?
В сценарии оболочки, я понимаю, что это "$@"распространяется на аргументы сценария, цитируя их по мере необходимости. Например, это передает аргументы скрипта в gcc: gcc -fPIC "$@" При использовании Баш проход к STDIN синтаксиса , <<<хотя, "@$"не работает , как я ожидал бы его. #!/bin/bash cat <<< "$@" Вызов сценария как …

4
Передача нескольких каталогов в опцию -prune в find
Я использую findдля поиска и удаления файлов резервных копий, но хочу исключить определенные каталоги из поиска. Резервные имена файлов может заканчиваться .bck, bak, ~или backup. Код минимального рабочего примера (MWE), который нужно исключить только из трех каталогов: #! /bin/bash find . -type d \( -path "./.*" -o -path "./Music" -o …

2
Что такое канонический способ найти фактическую максимальную длину списка аргументов?
После ARG_MAX максимальная длина аргументов для нового процесса, который кажется ARG_MAXнеправильным (или, по крайней мере, неоднозначным), определена на моем Mac Mini 3,1 под управлением Ubuntu 12.04: $ getconf ARG_MAX # arguments 2097152 $ locate limits.h | xargs grep -ho 'ARG_MAX[ \t]\+[0-9]\+' | uniq | cut -d ' ' -f 8 …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.