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

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

6
Удаление пустых деревьев каталогов (удаление как можно большего количества каталогов, но без файлов)
Предположим, у меня есть дерево каталогов, подобное этому: ROOTDIR └--SUBDIR1 └----SUBDIR2 └----SUBDIR3 Я ищу команду, которая при вводе: $ [unknown command] ROOTDIR Все дерево каталогов может быть удалено, если в нем нет файла, а есть только каталоги . Однако, скажем, если есть файл с именем hello.pdf в SUBDIR1: ROOTDIR └--SUBDIR1 …
12 shell  directory  rm 

2
В то время как IFS = read..`, почему IFS не имеет никакого эффекта?
Возможно, у меня что-то не так, но мне кажется убедительным, что установка IFS в качестве одной из команд в списке pre-do / done абсолютно не влияет. Внешний IFS (вне whileконструкции) преобладает во всех примерах, показанных в сценарии ниже. Что тут происходит? Я неправильно понял, что IFS делает в этой ситуации? …

4
Как им удалось управлять компьютером Unix до мышей и копировать и вставлять?
Поскольку Unix 40 лет, Unix старше, чем изобретение компьютерной мыши. (На самом деле, всего 3 года, если Unix с 1969 года, а мышь с 1972 года.) Как в мире новый пользователь делал что-то на Unix без копирования и вставки? Я знаю, что у них всегда был текстовый редактор с копированием …

5
Найти файл по пути без «который»?
Я (как-то) могу запустить скрипт: $ assemble.sh file ... [output] Но whichне могу найти это: $ which assemble.sh which: no assemble.sh in (/s/std/bin:/usr/afsws/bin:/opt/SUNWspro/bin:/usr/ccs/bin:/usr/ucb:/bin:/usr/bin:/usr/stat/bin:/usr/X11R6/bin:. Как это возможно? Как я могу найти, где находится этот файл? Я использую Bash.
12 bash  shell  path 

3
выполнение скрипта sh из cron
У меня есть скрипт test.sh #!/bin/sh php /home/v/file.php sh /root/x/some.sh когда я запускаю файл как root из командной строки, он работает. sh /home/v/test.sh когда я устанавливаю его в crontab -e (это корневой cron), не работает * * * * * sh /home/v/test.sh Что я делаю не так? Благодарность
12 shell  cron 

8
Как получить доступ к истории на лету в Unix?
Например, если я сделаю mkdir thisismyfolder912 Я помню , есть некоторые более простой способ , чтобы переключиться на thisismyfolder912того , чтобы сделать cd thisismyfolder912 Что это за путь и как он работает? Кроме того, каковы другие способы, которыми я могу использовать это?

7
Практические задания для изучения сценариев оболочки [закрыто]
Закрыто. Этот вопрос не по теме . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он подходил для Unix и Linux Stack Exchange. Закрыто 9 месяцев назад . Я ищу некоторые распространенные проблемы в системном администрировании Unix и способы их решения с помощью сценариев …

3
Какие менее популярные оболочки вы используете и каковы их преимущества? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 6 лет назад . Помимо того, что вы можете (возможно?) Назвать более популярными оболочками (bash, csh, Korn, …
12 shell 

1
Какие символы нужно экранировать в файлах без кавычек?
У меня есть основанная на браузере оболочка / терминал, которая выполняет команды bash, и я экранирую пробелы, но оказывается, что скобки также должны быть экранированы. Какие еще символы необходимо экранировать для имен файлов, которые не в кавычках?

6
Программа, которая может буферизовать стандартный ввод или файл
Помимо использования временного файла, чтобы помочь, есть ли способ / программа может буферизовать ввод, stdinно не выводит содержимое до получения EOF. Я не хочу использовать переменную оболочки (например buffer=$(cat)). Эта программа должна вести себя как показано ниже (предположим, что имя программы buffered-cat): $ buffered-cat line 1 line 2 line 3 …
12 shell  stdout  buffer 

2
установить -u использование не работает, как ожидалось
Я учусь тому, как эффективно использовать различные setопции в моем скрипте, и наткнулся на set -uто, что кажется идеальным для выхода из моего скрипта, если переменная не установлена ​​должным образом (например, удаление пользователей). Согласно справочной странице, set -uи set -eделает следующее ... -e Exit immediately if a command exits with …

1
Является ли «wait &» («ждать амперсанд») полезной (bash) оболочкой / сценарием оболочки идиома или техникой?
Я «унаследовал» некоторые сценарии оболочки для машин Linux, работающих под оболочкой GNU «bash». В одном конкретном случае на машине работает GNU bash версии 2.0.5b В одном из этих сценариев есть wait &инструкция («ждать амперсанд») как часть цикла «for line» for. На первый взгляд, это кажется любопытной / интересной идиомой, но …

2
Какая польза от команды «экспорт»?
Я создал переменную среды в одном окне терминала и попытался отобразить ее в другом окне терминала. Это ничего не отображается. $TEST=hello После этого я экспортировал его и повторил echoпопытку в другом окне терминала. Результат был таким же, как и раньше. export TEST но если я выполню тот же код при …

2
Создавайте переменные и присваивайте значения через цикл (bash)
Есть ли способ создать переменные bash и присвоить им значения через цикл? Что-то вроде: #!/bin/bash c=0 for file in $( ls ); do var"$c"="$file"; let c=$c+1; done РЕДАКТИРОВАТЬ: Спасибо @Costas и @mdpc за указание, что это будет плохой альтернативой списку; вопрос только теоретический.

5
Как «удалить» / удалить символы перед строкой?
У меня есть строка, которой я хотел бы манипулировать. Строка, H08W2345678как бы я мог манипулировать ею, чтобы вывод был просто W2345678? Точно так же, если бы я хотел отбросить последние 4 символа, H08W2345678чтобы я получил, H08W234как бы я это сделал?

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