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

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

8
Реверсирование содержимого переменной словами
Так что, если у меня есть переменная VAR='10 20 30 40 50 60 70 80 90 100' и повторить это echo "$VAR" 10 20 30 40 50 60 70 80 90 100 Однако далее по сценарию мне нужно изменить порядок этой переменной, чтобы она выглядела как echo "$VAR" | <code …
13 linux  bash  shell  variable 

3
Скрипт Bash с `set -e` не останавливается по команде`… &&… `
Я использую, set -eчтобы остановить скрипт bash при первой ошибке . Все работает хорошо, если я не использую команду с &&: $ cat script set -e cd not_existing_dir && echo 123 echo "I'm running! =P" $ $ ./script ./script: line 2: cd: not_existing_dir: No such file or directory I'm running! …

2
Есть ли способ для сценария оболочки узнать, какая программа его выполнила?
Есть ли в * nix мире способ для сценария оболочки иметь информацию о том, какая программа его выполнила? Пример: /path/to/script1 /path/to/script_xyz в этом воображаемом сценарии script_xyzбудет иметь информацию о пути ( /path/to/script1) или PID процесса субъекта, который его выполнил. Примечание: мне любопытно узнать о различных решениях и подходах, я не …

2
Как использовать специальный символ как нормальный?
Многие вопросы, например, «Как ввести символ двойной кавычки (»)? нас спрашивают, и мы не хотим загромождать наше сообщество одним и тем же ответом (введите его, как \"будто он не заключен в 's, "если заключен в 's.) Итак, вопрос здесь. Вы не можете вводить специальные символы в терминал, как обычные, например, …

1
Установка временных псевдонимов bash при входе в папку
Иногда мне нравится иметь очень настраиваемые псевдонимы bash и, возможно, сочетания клавиш, когда я вхожу в папку (это может быть проект, в котором я использую много команд из CLI). Предположим, что когда я вхожу в папку типа «projectAlpha /», я ожидаю несколько пользовательских псевдонимов, таких как: alias doTaskX='./app arg1 arg2...|filter …
13 bash  shell  alias 

3
Как удалить \ n между выводами двух эхо-команд?
У меня есть текстовый файл, содержащий одно имя файла в каждой строке: 111_c4l5r120.png 123_c4l4r60.png 135_c4l4r180.png 147_c4l3r60.png 15_c4l1r120.png ... Я хочу преобразовать это в эту форму: 111_c4l5r120.png 111 123_c4l4r60.png 123 135_c4l4r180.png 135 147_c4l3r60.png 147 15_c4l1r120.png 15 ... используя этот код: #!/bin/bash while IFS='' read -r line || [[ -n "$line" ]]; …

1
Почему некоторые программы сразу возвращаются в оболочку, а другие нет, пока не завершится выполнение?
Я прочитал из книги « Современные операционные системы», что при запуске команды оболочка создает дочерний процесс, ждет его, пока дочерний процесс не завершит выполнение, а затем ожидает от пользователя другой команды. Это действительно так для многих программ, как gedit. Терминал не принимает команды, пока я не закрылся gedit. Однако, когда …

2
Почему `watch` делает` ls / tmp` список содержимого $ HOME?
Я пытаюсь посмотреть количество файлов в моем /tmp/каталоге. Для этого я думал, что эта команда будет работать: watch sh -c 'ls /tmp/|wc -l' Но, похоже, работает так, как будто lsне имеет аргументов. А именно, я нахожусь ~, и я получаю количество файлов там вместо /tmp/. Я нашел обходной путь, который, …
13 shell  ls  watch 

2
Как удалить позиционный параметр из $ @
По сути, я хочу «вырвать» первое вхождение -infиз списка параметров. (Остальные параметры будут переданы другой команде.) Сценарий, который у меня есть, имеет следующую структуру: #!/bin/sh <CODE> for POSITIONAL_PARAM in "$@" do <CODE> if [ "$POSITIONAL_PARAM" = '-inf' ] then <PLUCK $POSITIONAL_PARAM FROM $@> break fi <CODE> done <CODE> some-other-command "$@" …

3
Почему это rm -rf, а не rmdir -rf
Мне всегда было любопытно, почему команда для удаления всего в каталоге rm -rf. Почему нет флагов, чтобы сделать то же самое с rmdir? Разве не было бы более интуитивно понятным использовать rmdirдля операций с каталогами?
13 shell  files  directory 

3
Как понять команду «cat> file_name << blah»?
В следующей команде cat берет содержимое here-doc и перенаправляет его в файл с именем conf: cat &gt; conf &lt;&lt; EOF var1="cat" var2="dog" var3="hamster" EOF Как понять порядок команд здесь? Есть ли bashпервые процессы все остальное (здесь-док часть) и в качестве последнего шага выглядит &gt; confчасть?

6
Извлечение файлов .gz, содержащихся в папке
У меня есть папка, содержащая приблизительно 320116 файлов .pdb.gz. Я хочу распаковать их всех. Если я использую gunzip * .gz, это выдает ошибку, т.е. список аргументов слишком длинный. Папка составляет около 2 ГБ. Пожалуйста, дайте мне соответствующее предложение.
13 shell 

4
Как я могу заменить bash на Python?
Согласно принятому ответу на этот вопрос: Python может сделать отличную замену bash . Тогда у меня такой вопрос: как мне сделать плавный переход? Я думаю, что главное, что нужно сделать для такого переключения: при запуске виртуального терминала вызывать какую-нибудь оболочку Python (что, хотя?), А не что-то вроде оболочки Bourne. Имеет …
13 shell  python 

2
Как переменные могут использовать «~» для cd'ing?
Как я могу использовать переменную - $BASEв моем CD. Я попробовал следующее, но я получаю ошибку $ cd ~/z/repo_1_ruby_193/ 23:23:57 durrantm Castle2012 /home/durrantm/z/repo_1_ruby_193 $ BASE="~/z" 23:24:03 durrantm Castle2012 /home/durrantm/z/repo_1_ruby_193 $ cd $BASE/repo_1_ruby_193 -bash: cd: ~/z/repo_1_ruby_193: No such file or directory 23:24:25 durrantm Castle2012 /home/durrantm/z/repo_1_ruby_193

9
Инструмент командной строки для «парного» раскрытия всех строк в файле
Предположим, у меня есть файл (назовите его sample.txt), который выглядит следующим образом: Row1,10 Row2,20 Row3,30 Row4,40 Я хочу иметь возможность работать с потоком из этого файла, который по сути является попарной комбинацией всех четырех строк (поэтому мы должны в итоге получить 16). Например, я ищу потоковую (то есть эффективную) команду, …

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