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

Оболочка является интерфейсом командной строки Unix. Вы можете вводить команды в оболочке в интерактивном режиме или писать сценарии для автоматизации задач. Используйте этот тег для вопросов, относящихся к / bin / sh и большинству совместимых оболочек (ash, bash, ksh, zsh,…). Для сценариев оболочки с ошибками, пожалуйста, проверьте их в http://shellcheck.net перед публикацией здесь.

1
Подстановка Bash с переменной, определенной из шаблона glob
Приведенный ниже пример объясняет проблему. Почему FILENAMEпри использовании подстановки отпечаток корректно отображается и воспринимается как шаблон? #!/bin/bash FILEPATH_WITH_GLOB="/home/user/file_*" FILENAME=$(basename "$FILEPATH_WITH_GLOB") echo $FILENAME #file_1234 echo ${FILENAME:1:5} #ile_* <---why is this not ile_1

6
Удаление файлов с пробелами в их именах
Я пытаюсь удалить все файлы с пробелами в их именах. Я использую следующую команду. Но это дает мне ошибку Команда: ls | egrep '. ' | xargs rm Здесь, если я использую только ls | egrep '. 'команду, она дает мне все имя файла с пробелами в именах файлов. Но …
10 shell  quoting  rm  xargs 

1
Отслеживать определенные параметры по какой-либо команде
Скажем, у меня есть команда git branch(всегда с парой слов), например. Я хочу отслеживать, когда эта команда выполняется с аргументами. Например, если я выполню команду git branch developбез ошибок, я хочу сохранить developфайл. Я попытался переписать команду git на моем .bash_profile, что-то вроде этого: git () { if [ $# …
10 bash  shell  function 

5
Изменить часовой пояс cronjob
У меня есть cronjob, который выполняется каждый день в 9:00 UTC-Time. Я в GMT + 1, поэтому он выполняется в 10:00 по местному времени. Когда происходит изменение часового пояса (на летнее время, летнее время), cronjob выполняется все еще в 9:00 утра по UTC-времени, но в 11:00 утра по местному времени. …
10 shell  cron  timezone 

3
Передача сценария с надписью «read» в bash
Мне нужно запустить сценарий по конвейеру через bashс wget(а не работает непосредственно с Баш). $ wget -O - http://example.com/my-script.sh | bash Это не работает, потому что в моем сценарии есть readоператоры. По какой-то причине они не работают при подключении к bash: # Piping to bash works in general $ echo …
10 bash  shell  pipe  read 

1
Отслеживание прогресса из фонового процесса без угона подсказки
Рассмотрим простой скрипт hello: #!/bin/bash echo 'hello world!' Теперь из bash, если я попытаюсь запустить это в фоновом режиме: $ hello & [1] 12345 $ hello world! █ <--- prompt is stuck here until I hit enter! [1]+ Done $ █ <--- prompt back to normal Что я бы предпочел …

1
Jenkins не использует локали системы
Я получил интересное поведение в Дженкинс. Оболочка Дженкинса не использует мои системные локали. Дженкинс работает как пользователь jenkinsв моей системе. Вы вошли как jenkinsчерез SSH: locale отображается: LANG = en_US.UTF-8 LANGUAGE = en_US: en LC_CTYPE = "en_US.UTF-8" и т. Д ... envпоказывает LANGи LANGUAGEпеременные: LANG = en_US.UTF-8 LANGUAGE = en_US: …

4
Регулярное выражение с использованием \\ vs using \
Почему grep e\\.g\\. <<< "this is an e.g. wow" и grep e\.g\. <<< "this is an e.g. wow" сделать то же самое? Если я добавлю третью косую черту, это также даст тот же результат. НО, как только я добавляю четвертый слеш, он больше не работает. Это связано с вопросом из …

4
Проверьте, активен ли порт telnet в сценарии оболочки
Я пытаюсь создать скрипт для проверки возможности входа через telnet. Я не хочу, чтобы действительно войти в систему; следовательно, ожидать не нужно. Я просто хочу посмотреть, смогу ли я получить приглашение для входа в систему. Это делается из системы Linux, поэтому я пытался использовать nc: nc 192.168.10.5 23 -w 1 …

2
Почему источник выдает ошибку «невозможно выполнить двоичный файл»
У меня есть небольшой файл, который инициализирует tmuxсеанс, а затем создает несколько окон. После некоторой отладки и настройки все работало нормально, пока я не переименовал текстовый файл (с tmuxкомандами) из spamв xset: $ source xset bash: source: /usr/bin/xset: cannot execute binary file Я теперь переименовал файл обратно и source spamснова …
10 bash  shell 

4
Почему ветвь 'if [$ 1 = “1”] ”всегда выбирается, даже если $ 1 не равен 1?
У меня есть сценарий оболочки с именем «teleport.sh», как это: if [ $1="1" ]; then shift mv "$@" ~/lab/Sun elif [ $1="2" ]; then shift mv "$@" ~/lab/Moon elif [ $1="3" ]; then shift mv "$@" ~/lab/Earth fi Когда я выполню: sh teleport.sh 2 testfile Это testfileперемещено в ~/lab/Sunкаталог, что …
10 bash  shell  test 

4
Пишите текстовые сообщения между Unix и Windows
Можно ли отправлять текстовые сообщения между двумя пользователями одной локальной сети, но первая работает под управлением Windows с cmd, а вторая - под управлением Linux / Unix? Я не ищу службы мгновенных сообщений. Я хотел бы ввести в оболочке Linux что-то вроде write user@192.168.x.x:port message так что пользователь Windows может …

1
Использование inotify для мониторинга каталога, но не работает на 100%
Я написал скрипт bash для мониторинга определенного каталога /root/secondfolder/: #!/bin/sh while inotifywait -mr -e close_write "/root/secondfolder/" do echo "close_write" done Когда я создаю файл с именем fourth.txtin /root/secondfolder/и записываю в него содержимое, сохраняю и закрываю его, он выдает следующее: /root/secondfolder/ CLOSE_WRITE,CLOSE fourth.txt Однако, это не повторяет "close_write". Это почему?

3
Переменные окружения не устанавливаются, когда моя функция вызывается в конвейере
У меня есть следующая рекурсивная функция для установки переменных среды: function par_set { PAR=$1 VAL=$2 if [ "" != "$1" ] then export ${PAR}=${VAL} echo ${PAR}=${VAL} shift shift par_set $* fi } Если я вызываю его сам по себе, он устанавливает переменную и выводит stdout: $ par_set FN WORKS FN=WORKS …


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