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

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

1
Bash скрипт не читает ввод
У меня есть сценарий, который должен запускать команду в фоновом режиме, и это делает это. Проблема в том, что когда сценарий сталкивается с командой чтения, он не приостанавливает и не принимает ввод. Вот: printf "Where is yo music?: " read musicPath cd $musicPath ls | while read currentSong;do seconds=`mdls "$currentSong"|sed …

1
Как узнать, написан ли скрипт оболочки на bash или sh?
Как я могу узнать, написан ли скрипт в bashили sh? Первая строка скрипта здесь не полезна, поскольку в Linux скрипты bash имеют следующую строку: #!bin/sh На самом деле, существует много дистрибутивов, где /bin/shесть bash (может быть, /bin/shссылка на /bin/bashэти дистрибутивы), а не Bourne Shell. Поэтому, если я попытаюсь запустить скрипт, …

2
Когда sh является символической ссылкой на bash или dash, bash ограничивается POSIX-совместимостью, поэтому он должен быть на 100% совместим с sh?
Из разницы между bash и sh : Возьмем вопрос: если у вас есть /bin/shссылка на bash, то bash не будет вести себя так же, когда /bin/shвызывается так же, как при вызове as /bin/bash. Когда он вызывается как sh, он ограничивается в основном POSIX-совместимостью и ограниченным набором расширений. Означает ли это, …

4
cp или rsync, действительно ли cp стоит?
Я надеюсь , что это не считается , как вопрос без реального ответа, так как я не могу найти хороший повод , чтобы использовать cp(1)более rsync(1)практически во всех обстоятельствах. Если один , как правило , в пользу rsyncболее cp? Есть ли хорошие рекомендации по их использованию? rsync: Передает различия, он …
8 bash  shell  rsync  utilities  cp 

1
Korn Shell: не работает ключ end, pgup, pgdown и delete
Так что в основном мои End, Pageup/ Pagedown, и Deleteключ не работают в ksh93. Кстати, я использую FreeBSD. Мои клавиши со стрелками работают, как и моя домашняя клавиша. Эти ключи работают, когда я помещаю это в мой .kshrc set -o emacs Я пытался делать ЭТО , помещая это в моей …

4
Итерировать по n файлам?
У меня есть кое-что довольно простое, что я хочу сделать. Я хочу использовать montageкаталог, содержащий тысячи изображений, с очень небольшим количеством опций, а именно: me@home$ montage -size 256x256 DSC01*.JPG.svg output.png ... но это не достаточно хорошо, поскольку он захватывает только около 100 изображений одновременно; ни один не me@home$ montage -size …

1
Как определить функцию `bc` для дальнейшего использования?
Я всегда находил что- bcто загадочное и интригующее. Это был один из самых оригинальных программ Unix. И это язык программирования сам по себе. Поэтому я с радостью использую любую возможность, которую смогу использовать. Поскольку bc, кажется, не включает в себя факториальную функцию, я хочу определить ее следующим образом: define fact(x) …
8 shell  bc 

3
Каков наиболее правильный способ передачи массива в функцию?
Предположим, у меня очень большой массив $large_list, есть ли способ написать функцию, которая будет принимать массив в качестве аргумента? Например: echo_idx_array () { arr="$1" idx="$2" echo "${arr[$idx]}" } Какова обычная стратегия сделать что-то подобное? Я попытался дать переменную, $large_listно она была пуста. Я готов изменить функцию, чтобы адаптировать ее к …
8 shell  ksh  array 


2
Как добавить данные подключения к сети или источнику пользователя в записи истории?
Я хотел бы изменить настройки истории для всех пользователей в системах, которыми я управляю. Я хотел бы, чтобы он содержал информацию от соединительного терминала, как изwho sysadmin:/ # who sysadmin pts/0 Mar 26 07:11 (sysadmin.doofus.local) В настоящее время я изменяю свою историю следующими способами. Я знаю, что многие из этих …

7
Linux скрипт или программа для сокращения имен файлов
У меня не было большого успеха в поиске Linux-версии namemangler , для которой мне нужно переименовать 1000 файлов, чтобы они были читаемыми в Windows. Кто-нибудь знает о программе Linux, которая может сделать это? Если нет, то скрипт может работать, так как мне нужно только переименовать все файлы в папке, скажем, …

5
Как получить PID subshell в Korn Shell (эквивалент $ BASHPID)
В bash у вас есть эта удобная переменная: $ BASHPID, которая всегда возвращает PID запущенной в данный момент подоболочки. Как я могу получить PID подоболочки в ksh? Например, см. Код ниже: #!/usr/bin/ksh93 echo "PID at start: $$" function run_in_background { echo "PID in run_in_background $$" run_something & echo "PID of …

3
Как применить одно и то же действие awk к разным файлам?
Я новичок в awk, и я не знаю, возможно ли написать сценарий awk, который делает это: У меня есть сотни файлов данных, которые я должен отсортировать. Для каждого я использую следующую строку: awk 'ORS=NR%3?" ":"\n" ' file1.tex > file1_sorted.tex awk 'ORS=NR%3?" ":"\n" ' file2.tex > file2_sorted.tex ... и я получаю …
8 shell  awk 

1
Изменение оболочки по умолчанию без прав доступа chsh или администратора
Я видел следующий фрагмент в этой теме: Как перейти с csh на bash в качестве оболочки по умолчанию sleep 2 if (-x /usr/local/bin/bash) then exec /bin/sh -c '. ~/.profile; exec /usr/local/bin/bash' endif Насколько я понимаю, если вы разместите этот фрагмент, ~/.loginон будет вызываться bashпри входе в систему. У меня похожая …
8 shell  zsh  login  exec 

3
Строка Bash заменяет несколько символов одним
Я заменяю из заголовка канала все символы, кроме букв и цифр, тире, чтобы использовать результат в качестве безопасного имени файла для любой файловой системы: $ t="Episodie 06: No hope of riding home (NEW) - Advanced grammar" $ echo ${t//[^A-Za-z0-9]/-} Episodie-06--No-hope-of-riding-home--NEW----Advanced-grammar Однако я бы хотел сжать все повторяющиеся тире одним Episodie-06-No-hope-of-riding-home-NEW-Advanced-grammar …
8 bash  shell  string 

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