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

27
Почему я не могу перенаправить вывод имени пути из одной команды в «cd»?

Я пытаюсь cdпринять имя каталога, перенаправленное на него от другой команды. Ни один из этих методов не работает: $ echo $HOME | cd $ echo $HOME | xargs cd Это работает: $ cd $(echo $HOME) Почему первый набор команд не работает, и есть другие, которые также терпят неудачу таким...

27
Блокировать определенную команду в Linux для конкретного пользователя

Как заблокировать команду, скажем, mkdirдля конкретного пользователя? То, что я сделал, только что создал функцию только для чтения и сохранил в профиле пользователя ~/.bashrc /bin/mkdir() { echo "mkdir command not allow for you" } mkdir() { echo "mkdir command not allow for you" } ./mkdir() { echo...

27
Разрешено ли оболочке оптимизировать бесполезные завершающие команды?

Если оболочку просят выполнить, вероятно, бесполезную ( или частично бесполезную ) команду, о которой известно, что она завершается, например cat hugeregularfile.txt > /dev/null, может ли она пропустить выполнение этой команды ( или выполнить, скажем, более дешевый эквивалент touch -a...

27
Почему нет команды оболочки для создания файлов?

Внимание, пожалуйста: Я не спрашиваю, как сделать файл из командной строки! Я использовал touchдля создания файлов в течение многих лет, не обращая внимания на то, что его основная цель заключается в другом. Если кто-то хочет создать файл из командной строки, существует так много возможностей:...

27
Проверьте длину переменной

Я должен проверить длину чтения переменной (мой сценарий ограничен пятью вставленными символами), я думаю о чем-то вроде этого: #!/bin/bash read string check=${#string} echo $check if [ $check -ge 5 ]; then echo "error" ; exit else echo "done" fi Есть ли более "элегантное"...

27
Разница между 'ls' и 'echo $ (ls)'

Рассмотрим два образца оболочки $ ls myDoc.html SomeDirectory someDoc.txt а также $ echo $(ls) myDoc.html SomeDirectory someDoc.txt Выполняется первый, lsкоторый, как я понимаю, добавляет содержимое текущего рабочего каталога в stdoutфайл (это то, что отображает терминал). Это верно? Вторая...

27
Ошибка в тесте скобки оболочки, когда строка является левой скобкой

Раньше я был уверен в том, что цитирование строк - это всегда хорошая практика, чтобы избежать его разбора оболочкой. Потом я наткнулся на это: $ x='(' $ [ "$x" = '1' -a "$y" = '1' ] bash: [: `)' expected, found 1 Попытка изолировать проблему, получая ту же ошибку: $ [ '(' = '1' -a '1' = '1' ]...

27
Как я могу время трубы?

Я хочу timeкоманду, которая состоит из двух отдельных команд с одним выводом трубопровода к другому. Например, рассмотрим два сценария ниже: $ cat foo.sh #!/bin/sh sleep 4 $ cat bar.sh #!/bin/sh sleep 2 Теперь, как я могу timeсообщить о потраченном времени foo.sh | bar.sh(и да, я знаю, что канал...

27
Неожиданное поведение отступа, когда я устанавливаю терминал в сырой режим - почему это происходит?

Исходя из того, что я прочитал, когда терминал находится в необработанном режиме, символы не обрабатываются драйвером терминала, а передаются напрямую. Я установил терминал в необработанном режиме, используя команду stty raw, и заметил, что вывод выводится вправо каждый раз, когда места больше нет....

27
Как выполнить библиотечные команды из оболочки?

Я хотел просто вычислить длину строки (это значение хеша). Итак, я открыл терминал и сделал это: $ apropos length это вернуло меня с кучей команд / функций, имеющих (3)или (3ssl)добавленных в конце их. Теперь человек мужчина дает нам информацию о том, что это section numbersзначит. 3 Library calls...

26
Как я могу напечатать строки из файла в обратном направлении (без использования «TAC»)?

Этот вопрос был перенесен из Stack Overflow, потому что на него можно ответить в Unix и Linux Stack Exchange. Мигрировал 8 лет назад . Я хочу напечатать строки из файла в обратном направлении без использования tacкоманды. Есть ли другое решение, чтобы сделать такую ​​вещь с...

26
запуск сценария с «. И с «источником»

Мне было интересно, если следующие два способа запуска сценария bash эквивалентны? . ./myScript.sh source myScript.sh Они оба запускают содержимое скрипта вместо того, чтобы запускать скрипт, т.е. не создают подоболочку для запуска скрипта?...

26
Когда вам нужен nohup, если вы уже разветвляетесь, используя '&'?

Сначала этот вопрос связан, но определенно не совпадает с этим очень хорошим вопросом: Разница между nohup, disown и & Я хочу кое-что понять: когда я делаю '&', я разветвляюсь, верно? Всегда ли полезно делать "nohup ... &" или просто и достаточно? Может ли кто-нибудь показать случай,...

26
Выполнить функцию readline без привязки клавиш?

Я просто читал man-страницу readline и обнаружил кучу замечательных команд, о которых я не знал. Однако у некоторых нет привязок клавиш по умолчанию. Есть ли способ выполнить несвязанные команды из оболочки? Я не спрашиваю, как связать команду в ~ / .inputrc, а вместо этого, как выполнить ее как...

26
Как добавить арифметические переменные в скрипт

Я хочу накопить размер строки для ряда файлов, содержащихся в папке. Я написал следующий скрипт: let a=0 let num=0 for i in folder/* do num=`cat $i | wc -l` a=$a+$num done echo $a В конце скрипта я получаю 123 + 234 + 432 + ... а не результат арифметической операции...

26
Зачем мне нужно указывать переменную для if, но не для echo?

Я читал, что вам нужны двойные кавычки для расширения переменных, например if [ -n "$test" ]; then echo '$test ok'; else echo '$test null'; fi будет работать как положено, пока if [ -n $test ]; then echo '$test ok'; else echo '$test null'; fi всегда будет говорить, $test okдаже если $testэто ноль....