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

Вопросы, специфичные для GNU Bourne Again SHell, в отличие от других оболочек Bourne / POSIX. Для вопросов о оболочках Unix в целом используйте вместо этого тег / shell.


5
В чем разница между eval и exec?
evalи execоба встроены в команды bash (1), которые выполняют команды. Я также вижу, execесть несколько вариантов, но это единственная разница? Что происходит с их контекстом?

8
Могу ли я «экспортировать» функции в bash?
source some_file some_file: doit () { echo doit $1 } export TEST=true Если я использую исходный код some_file, функция «doit» и переменная TEST доступны в командной строке. Но запускаем этот скрипт: script.sh: #/bin/sh echo $TEST doit test2 Вернет значение TEST, но сгенерирует ошибку о неизвестной функции "doit". Могу ли я …
81 bash  function 

3
Рекурсивный шар?
Я хотел бы написать что-то вроде этого: $ ls **.py чтобы получить все .py имена файлов, рекурсивно обходить иерархию каталогов. Даже если есть файлы .py, которые нужно найти, оболочка (bash) выдает следующее: ls: cannot access **.py: No such file or directory Любой способ сделать то, что я хочу? РЕДАКТИРОВАТЬ: Я …

3
Как экспортировать переменные из файла?
У меня есть tmp.txtфайл, содержащий переменные для экспорта, например: a=123 b="hello world" c="one more variable" Как я могу экспортировать все эти переменные с помощью exportкоманды, чтобы впоследствии они могли использоваться дочерними процессами?
80 bash 


5
таблица цветов tput setaf? Как определить цветовые коды?
Я нахожусь в процессе окраски моего терминала PS1. Я устанавливаю переменные цвета, используя tput; например, вот фиолетовый: PURPLE=$(tput setaf 125) Вопрос: Как мне найти цветовые коды (например 125) других цветов? Есть ли где-нибудь руководство по таблице цветов / шпаргалка? Я просто не уверен, что 125... Есть ли способ взять шестнадцатеричный …
79 bash  colors  tput 


5
Как узнать, установлен ли пакет через yum в bash-скрипте?
Я пытаюсь написать сценарий, который устанавливает пакеты, но если он не удается в какой-либо момент позже, сценарий откатывает все, что он установил. Конечно, если пользователь уже ранее установил пакет, я не хочу удалять его из-под них. Как мой сценарий может сказать, был ли пакет предварительно установлен через yum?

1
Какова цель ключевого слова «do» в Bash для циклов?
Какова цель doключевого слова в forсинтаксисе цикла Bash ? Для меня это кажется излишним. for i in `seq 1 2`; do echo "hi"; done Почему синтаксис не такой? for i in `seq 1 2`; echo "hi"; done Я уверен, что это действительно соответствует цели. Я просто хочу учиться.
76 bash  shell  for 

1
Заставьте CD следовать символическим ссылкам
Мой код смонтирован как sshfs в моем домашнем каталоге, но иерархию трудно запомнить, поэтому я создал символическую ссылку в моем домашнем каталоге, ведущую к этому каталогу. Есть ли способ, чтобы при переходе на эту символьную ссылку вместо ссылки на символьную ссылку он фактически перешел на этот каталог? Если вопрос был …

15
Как получить конкретную строку _и_ первую строку файла?
Предполагая простой grep, такой как: $ psa aux | grep someApp 1000 11634 51.2 0.1 32824 9112 pts/1 SN+ 13:24 7:49 someApp Это дает много информации, но поскольку первая строка команды ps отсутствует, контекст для информации отсутствует. Я бы предпочел, чтобы первая строка ps была также показана: $ psa aux …

3
Что такое ярлык bash для перехода в предыдущий каталог?
К сожалению, я узнал об этом только в прошлом году, случайно наткнувшись на него в Интернете. Я использую его так редко, что всегда забываю, что это такое, когда мне снова это нужно. Как вы переходите на свой предыдущий каталог?
76 bash  shell  cd-command 

4
В чем разница между поиском ('.' Или 'source') и выполнением файла в bash?
В чем разница между выполнением скрипта, подобного этому: ./test.sh и выполнить скрипт, как это: . test.sh? Я попробовал простой двухстрочный скрипт, чтобы посмотреть, смогу ли я найти разницу: #!/bin/bash ls Но оба . test.shи ./test.shвернули одну и ту же информацию.
76 bash  shell 

2
Как я могу назначить вывод команды для переменной оболочки?
Я хочу присвоить результат выражения переменной и объединить его со строкой, а затем повторить его. Вот что у меня есть: #!/bin/bash cd ~/Desktop; thefile= ls -t -U | grep -m 1 "Screen Shot"; echo "Most recent screenshot is: "$thefile; Но это выводит: Screen Shot 2011-07-03 at 1.55.43 PM.png Most recent …

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