Tag: shell script

Какова цель иметь две переменные ($ @, $ *) для передачи аргументов команды в скрипт?

Я прочитал специальные переменные, используемые в скриптах $@ и $* . Насколько я понимаю, аргументы, используемые при выполнении сценария, хранятся в двух специальных переменных, после того, как все аргументы в $@ и сразу все аргументы в $* , таким образом, они могут быть доступны внутри скрипта. Я не понимаю, почему для одного и того же […]

Почему программированию на C не нужны сценарии компилятора и оболочки?

Я написал сценарий bash, и я выполнил его, не компилируя его в первую очередь. Он отлично работал. Он может работать с разрешениями или без них, но когда дело доходит до программ на С, нам нужно скомпилировать исходный код. Зачем?

В чем разница в этих двух средах bash?

Я замечаю, что с помощью сценариев bash некоторые люди используют другую shebang для той, которую я использую, чтобы поставить себя на первое место. Может ли кто-то упростить разницу между этими двумя? Я все время использую #!/bin/bash . #!/bin/bash #!/usr/bin/env bash

Область локальных переменных в функциях оболочки

После чтения 24.2. Локальные переменные , я думал, что объявление переменной var с ключевым словом local означает, что значение var было доступно только в блоке кода, ограниченном фигурными фигурными скобками функции. Однако после запуска в следующем примере я обнаружил, что var также можно получить, прочитать и записать из функций, вызываемых этим блоком кода, то есть […]

Возврат BASH к основной функции

У меня есть BASH-скрипт, который вызывает функцию, которая вызывает другие функции: #!/bin/bash function foo { function bar { # do something } bar } foo Как я могу вернуться из bar непосредственно в основную функцию? Дело в том, что bar обрабатывает ввод пользователя, и если он получает отрицательный ответ, он должен вернуться к основной функции, […]

Есть ли более элегантный способ подсчета слов и присвоение этому числу переменных?

У меня есть сценарий: #!/bin/bash /root/xiotech status > xiostatus.tmp SyncCount=$(grep -c Sync xiostatus.tmp) PauseCount=$(grep -c paused xiostatus.tmp) CopyingCount=$(grep -c Copying xiostatus.tmp) if [ "$SyncCount" -eq "11" ] then echo All 11 mirrors are in sync. else echo $PauseCount mirrors are paused and $CopyingCount mirrors are syncing. fi rm -f xiostatus.tmp Есть ли более элегантный способ […]

В строке использования моего пользовательского сценария оболочки также должен отображаться –help и –version?

В настоящее время я разрабатываю сценарий оболочки, вызываемый, который показывает строку использования в командной строке при вызове с помощью –help . Результат выглядит следующим образом: $ up –help usage: up [-n levels][–help][–versions][basename]… Это выглядит нормально, но мне интересно, действительно ли мне нужно показать параметры –help и –version , потому что они являются широко распространенным стандартом […]

Как преобразовать все .wav-файлы в подкаталоги в .aac, используя neroAacEnc?

У меня есть коллекция музыки в формате .wav, и я хотел бы преобразовать ее в .aac / .mp4 с помощью neroAacEnc. Как мне это сделать? Я использую Arch Linux x86_64 и Xterm.

Разделить видеофайл на части с помощью ffmpeg

Если вы хотите извлечь две минуты видеофайла с минуты 2 до минуты 4, вы будете использовать команду ffmpeg -i input.mpg -sameq -ss 00:02:00 -t 00:02:00 output.mpg Я хотел бы разделить видео на две минуты кусков. У меня есть идея использовать скрипт bash, но есть несколько ошибок. for i in seq 50; do ffmpeg -i input.mpg […]

Необязательные аргументы после или до обязательных аргументов?

Я создаю скрипт оболочки, и мне нужно, чтобы он принял два обязательных аргумента и один дополнительный. Как я могу это проверить? В большинстве сценариев, которые я видел, необязательные аргументы передаются перед обязательными, например: cut -c2 test.txt Но для меня этот шаблон будет сложно проверить в скрипте, поэтому моя идея – рассмотреть третий аргумент как необязательный.

Linux и Unix - лучшая ОС в мире.