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

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

4
Как я могу удалить все файлы с определенным расширением в определенной папке?
Если я установлю текущий / рабочий каталог (перейдя к нему с помощью cd) в какой-то конкретный каталог, а затем введите: rm *.xvg Что будет делать эта команда? Правда ли, что приведенная выше команда удалит только файлы с расширением .xvg только в рабочем каталоге? Я нервничал, пытаясь это сделать, прежде чем …
36 bash  shell  directory  rm 


4
Ошибка синтаксиса Bash, когда «else» следует за пустым предложением «then»
Почему следующий скрипт не выполняется, но выдает синтаксическую ошибку else: LOGS3_DIR=~/logs if [ -d "$LOGS3_DIR" ]; then cd cd "$LOGS3_DIR" echo "$LOGS3_DIR" for filename in `find "." -mtime 1 -type f` do if lsof "$filename" > /dev/null then # file is open else echo "deleting $filename" rm "$filename" fi done …

4
$ @ кроме 1-го аргумента
Мне нужно написать сценарий оболочки, который работает следующим образом: ./myscript arg1 arg2_1 arg2_2 arg2_3 ....... arg2_# внутри скрипта есть цикл for for i in $@ Однако, как я знаю, $ @ включает в себя от $ 1 до $ ($ # - 1). Но для моей программы $ 1 заметно …
36 bash  shell  scripting 

5
Как прочитать весь сценарий оболочки перед его выполнением?
Обычно, если вы редактируете scrpit, все запущенные сценарии подвержены ошибкам. Насколько я понимаю, bash (другие оболочки тоже?) Считывает скрипт постепенно, поэтому, если вы изменили файл скрипта извне, он начинает читать неправильные вещи. Есть ли способ предотвратить это? Пример: sleep 20 echo test Если вы выполните этот скрипт, bash прочитает первую …
35 shell 

3
Понимание обратной черты (`)
Я пробую команду $ b=5; echo `$b`; -bash: 5: command not found но он не печатает 5, как это должно быть. Что мне здесь не хватает? Что `(backquote / backtick) означает в командах? кажется, говорит, что `оценивает команды внутри и заменяет их выводом.

4
наложение псевдонима на pushd - это хорошая идея?
Это хорошая идея, чтобы использовать следующий псевдоним: cd() { pushd $1; } в баш? Я думаю, что это было бы очень полезно, так как тогда я могу использовать серию popds вместо cd -одного. Есть ли случай, когда это может быть проблемой?

5
Почему мой ~ / .bash_profile не работает?
Я использую Linux Mint. Мой логин ( cat /etc/passwd | grep myUserName) - это bash. После того, как я запустил свое графическое окружение рабочего стола и запустил из него эмулятор терминала, я увидел, что .bash_profileон не получен (измененные exportв нем переменные среды не установлены). Но если я вхожу из текстовой …
35 bash  shell  login  profile 

7
Разница между 2> & 1> output.log и 2> & 1 | тройник output.log
Я хотел знать разницу между следующими двумя командами 2>&1 > output.log а также 2>&1 | tee output.log Я видел, как один из моих коллег использовал второй вариант для перенаправления. Я знаю, что делает 2> & 1, мой единственный вопрос: какова цель использования tee, где можно использовать простой оператор перенаправления ">"?

5
Как мы можем запустить команду, хранящуюся в переменной?
$ ls -l /tmp/test/my\ dir/ total 0 Мне было интересно, почему следующие способы запуска вышеуказанной команды не удаются или преуспеют? $ abc='ls -l "/tmp/test/my dir"' $ $abc ls: cannot access '"/tmp/test/my': No such file or directory ls: cannot access 'dir"': No such file or directory $ "$abc" bash: ls -l …
35 bash  shell  quoting  variable 

2
Как перейти с csh на bash в качестве оболочки по умолчанию
У меня в cshкачестве оболочки по умолчанию, как показано echo $SHELL. Я хочу переключиться в bashкачестве моей оболочки по умолчанию. Я попробовал следующие подходы безрезультатно: С chshя получаю: chsh: can only change local entries; use ypchsh instead. С ypchshя получаю: ypchsh: yppasswdd not running on NIS master host ("dcsun2"). У …
34 shell 



8
Как я могу переключаться между различными устройствами вывода звука, используя оболочку?
Я использую свой ноутбук с внешним монитором, который имеет динамики. Когда монитор подключен через HDMI, я могу переключаться (используя графический интерфейс: Настройка звука -> Оборудование) между обычным аудиовыходом ноутбука и выходом монитора. Я повторял эту процедуру много раз, и я начал задаваться вопросом, могу ли я автоматизировать ее или, в …

3
Что означает: $ {param: = value}?
Я прочитал следующее в Руководстве пользователя к Z-Shell : Синонимом «true» является «:»; это часто используется в этой форме, чтобы дать аргументы, которые имеют побочные эффекты, но которые не должны использоваться - что-то вроде : ${param:=value} которая является общей идиомой во всех производных оболочки Борна. В расширении параметра $paramзадается значение …
34 bash  shell  zsh 

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