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

61
Почему nullglob не используется по умолчанию?

В большинстве оболочек nullglobне по умолчанию. Это означает, например, если вы запустите эту команду ls * в пустом каталоге он расширит *глобус до литерала *, а не до пустого списка аргументов. Существуют способы изменить это поведение, чтобы *в пустом каталоге возвращался пустой список...

61
Как перебрать строки файла?

Скажи, у меня есть этот файл: hello world hello world Эта программа #!/bin/bash for i in $(cat $1); do echo "tester: $i" done выходы tester: hello tester: world tester: hello tester: world Я хотел бы иметь forитерацию по каждой строке, игнорируя при этом пробельные символы, то есть последние две...

61
Перенаправьте как stderr, так и stdout в / dev / null с помощью / bin / sh

Я пробовал все виды способов перенаправляют как stdoutи stderrв /dev/nullбез какого - либо успеха. У меня почти всю жизнь работает bash, с которым у меня никогда не было этой проблемы, но на этот раз в BSD я застрял /bin/sh. Что я пробовал: if ls ./python* 2> /dev/null; then echo found Python fi...

61
Как эта команда законна? «> File1 <file2 cat»

Предполагая, что file2уже существует, команда > file1 < file2 cat похоже копирует содержимое file2в file1. Но я не могу понять эту структуру. Я понимаю, что «Ничто» направлено на file1(создание или удаление его содержания). Тогда содержание file2направляется на file1. Почему catпосле file2?...

60
Шебанг, начинающийся с `//`?

Я запутался в следующем скрипте ( hello.go). //usr/bin/env go run $0 $@ ; exit package main import "fmt" func main() { fmt.Printf("hello, world\n") } Это может выполнить. (на MacOS X 10.9.5) $ chmod +x hello.go $ ./hello.go hello, world Я не слышал о Шебанге, начиная с //. И это все еще работает,...

60
Как запустить команду, которая включает в себя перенаправление или передачу с помощью sudo?

Я пытаюсь следовать тому, что, как я полагаю, является лучшей практикой использования sudo вместо учетной записи root. Я выполняю простую операцию с файлом concat, такую ​​как: sudo echo 'clock_hctosys="YES"' >> /etc/conf.d/hwclock Это не так, как справа от ">>", он работает как обычный...

59
Разница между ls -l и ll?

Я относительно новичок в программировании в целом, и некоторые учебники говорили мне использовать ls -lдля просмотра файлов в каталоге, а другие говорили ll. Я знаю, что lsэто короткий список, но есть ли разница между двумя...

59
Передать переменную оболочки как / pattern / в awk

Имея следующее в одной из моих функций оболочки: function _process () { awk -v l="$line" ' BEGIN {p=0} /'"$1"'/ {p=1} END{ if(p) print l >> "outfile.txt" } ' } , Так что, когда называется _process $arg, $argполучает прошло , как $1и используется в качестве шаблона поиска. Это работает так,...

58
Почему подстановочный знак * отличается между командами zip и rm?

Я собрал скрипт, чтобы сделать некоторые файловые операции для меня. Я использую подстановочный оператор *для применения функций ко всем файлам типа, но есть одна вещь, которую я не понимаю. Я могу unzipвсе файлы в папке, как это unzip "*".zip Тем не менее, чтобы удалить все почтовые файлы...

58
grep на переменную

Допустим, у меня есть переменная line="This is where we select from a table." Теперь я хочу понять, сколько раз происходит выбор в предложении. grep -ci "select" $line Я попробовал это, но это не сработало. Я тоже пробовал grep -ci "select" "$line" Это все еще не работает. Я получаю следующую...

58
Отдельная команда для входа в SSH и запуска программы?

Есть ли способ структурировать одну команду для входа через SSH на удаленный сервер и запуска программы в оболочке удаленного входа? В руководстве OpenSSH написано: «Если указана команда, она выполняется на удаленном хосте вместо оболочки входа в систему». Так, например, ssh user@server mailвойдете...

58
CD, просто набрав имя каталога?

У меня было это где-то 20 лет назад, или я мечтал об этом. В основном: Если, если типа blobblobя получаю blobblob: command not found Справедливо. Мне бы хотелось, чтобы, когда моя оболочка получала эти ошибки (команда не найдена), она проверяла, существует ли каталог с таким именем ('blobblob') и...

58
Как сопоставить шаблоны без учета регистра с ls?

Я хотел бы перечислить все файлы, соответствующие определенному шаблону, игнорируя регистр. Например, я запускаю следующие команды: ls *abc* Я хочу видеть все файлы, которые имеют "abc" как часть имени файла, игнорируя регистр, как -rw-r--r-- 1 mtk mtk 0 Sep 21 08:12 file1abc.txt -rw-r--r-- 1 mtk...

58
Отключить пользовательскую оболочку по соображениям безопасности

У нас есть несколько учетных записей, которые мы создаем для автоматизированных задач, требующих детальных разрешений, таких как передача файлов между системами, мониторинг и т. Д. Как мы можем заблокировать эти учетные записи пользователей, чтобы эти «пользователи» не имели оболочки и не могли...

58
> & - более эффективен, чем> / dev / null?

Вчера я прочитал этот комментарий, который говорит, что в оболочке (по крайней мере bash) >&-"имеет тот же результат, что и" >/dev/null. Этот комментарий фактически ссылается на руководство АБС как на источник информации. Но этот источник говорит, что >&-синтаксис «закрывает...

58
Что означает «rm is hashed»?

Я иду через http://mywiki.wooledge.org/BashGuide/CommandsAndArguments и наткнулся на это: $ type rm rm is hashed (/bin/rm) $ type cd cd is a shell builtin Чуть раньше в руководстве были перечислены различные типы команд, понятные Bash: псевдонимы, функции, встроенные функции, ключевые слова и...

56
Как вы используете перенаправление вывода в сочетании с here-документами и cat?

Допустим, у меня есть сценарий, который я хочу передать по конвейеру другой команде или перенаправить в файл ( shдля примера приведен конвейер ). Предположим, что я использую Bash. Я мог бы сделать это используя echo: echo "touch somefile echo foo > somefile" | sh Я также мог бы сделать почти то...