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

37
Как автоматически cd после git clone?

Я хочу автоматически cdв каталог, созданный cloneкомандой после того, как я git cloneчто-то сделал. Важно: я не хочу изменять синтаксис команды (например, использовать псевдоним / функцию), потому что это нарушит zsh-дополнения, которые я получаю автоматически из Pretzoпроекта. РЕДАКТИРОВАТЬ :...

36
Почему открытие файла происходит быстрее, чем чтение содержимого переменной?

В bashскрипте мне нужны различные значения из /proc/файлов. До сих пор у меня есть десятки строк, которые напрямую копируют файлы: grep -oP '^MemFree: *\K[0-9]+' /proc/meminfo Чтобы сделать это более эффективным, я сохранил содержимое файла в переменной и добавил следующее: a=$(</proc/meminfo)...

36
Почему «sudo su» в сценарии оболочки не запускает остальную часть сценария от имени пользователя root?

Пример сценария может быть следующим: #!/bin/bash sudo su ls /root При использовании ./test.shв качестве обычного пользователя вместо запуска lsот имени суперпользователя и выхода, он переключается в режим root; и когда я выхожу, он выполняется ls /rootкак обычный пользователь. Кто-нибудь может...

36
Как я могу удалить все файлы с определенным расширением в определенной папке?

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

36
Должны ли мы использовать символы UTF-8, такие как ⏰ в скрипте bash / shell?

Простой код здесь работает, как и ожидалось, на моей машине, если запущен с bash: function ⏰(){ date } ⏰ Может ли быть проблема для других людей, использующих это, или это универсально? Мне интересно, потому что я никогда не видел ничего подобного в другом исходном коде. Изменить: Есть...

36
$ @ кроме 1-го аргумента

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

36
Как изменить оболочку по умолчанию на ZSH - chsh говорит «недопустимая оболочка»

Я установил ZSH на мою виртуальную машину, где я скомпилировал ее из исходного кода. Расположение ZSH - это /usr/local/bin/zshкогда я запускаю chsh -s /usr/local/bin/zshего вывод chsh: /usr/local/bin/zsh is an invalid shell. Я тоже попробовал это с sudo. Как я могу изменить...

36
Ошибка синтаксиса 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...

36
Вывести «голливудскую хакерскую сцену» из оболочки

Это может показаться странным вопросом, но что бы вы использовали для создания типичной голливудской хакерской сцены? Я получил этот запрос от друга, и мой мозг был пустым. Все, что я мог придумать, это все nmap-сцены из таких фильмов, как «Матрица» и так далее. Но это должно быть сделано на Mac с...

36
Как заставить alt + правую мышь изменить размер окна снова!

Я разочарован тем, что это было удалено / изменено в gnome-shell3. Есть определенные привязки клавиш для изменения размера и перемещения окон, такие как alt + щелчок правой кнопкой мыши и т. Д., Которые я хотел бы вернуть. Я пытался использовать системные настройки, но безрезультатно. Кто-нибудь...

36
Что более идиоматично в скрипте bash: `|| true` или `|| : `?

Я не слишком много пишу сценариев оболочки, поэтому я немного удивился, когда читал документациюgit submodule и увидел синтаксис, который они использовали в этой документации: Ненулевой возврат команды в любом подмодуле приводит к прекращению обработки. Это можно переопределить, добавив || :в конец...

36
Использовать расширение .sh или .bash для скриптов bash?

(См. Использование #! / Bin / sh или #! / Bin / bash для совместимости с Ubuntu-OSX и простоты использования и POSIX ) Если я хочу, чтобы в моих сценариях использовалась оболочка bash, действительно ли расширение .bash вызывает bash или это зависит от конфигурации системы / 1-й строки shebang. Если...

35
наложение псевдонима на pushd - это хорошая идея?

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

35
Почему мой ~ / .bash_profile не работает?

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

35
Понимание обратной черты (`)

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

35
Разница между 2> & 1> output.log и 2> & 1 | тройник output.log

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

35
Как прочитать весь сценарий оболочки перед его выполнением?

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

35
Как мы можем запустить команду, хранящуюся в переменной?

$ 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"...

34
Что означает: $ {param: = value}?

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