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

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


4
dirname и basename против расширения параметров
Есть ли объективная причина предпочесть одну форму другой? Производительность, надежность, портативность? filename=/some/long/path/to/a_file parentdir_v1="${filename%/*}" parentdir_v2="$(dirname "$filename")" basename_v1="${filename##*/}" basename_v2="$(basename "$filename")" echo "$parentdir_v1" echo "$parentdir_v2" echo "$basename_v1" echo "$basename_v2" Производит: /some/long/path/to /some/long/path/to a_file a_file (v1 использует расширение параметров оболочки, v2 использует внешние двоичные файлы.)

3
Трубопровод ls такой же, как ls -1?
lsвозвращает вывод в нескольких столбцах, тогда как ls|catвозвращает идентичный байту вывод ls -1для каталогов, которые я пробовал. Тем не менее я вижу, что ls -1в ответах, как ls -1|wc -l. Есть ли причина отдавать предпочтение ls -1? Почему ...|catменяется выход ls?
19 shell  ls 

1
echo [9876543210] отображает 1 4 5 6… почему?
Пожалуйста, объясните, почему 1 4 5 6 отображается для последних четырех эхо-операторов? Однажды я столкнулся с этим случайно, но теперь мне интересно, почему это происходит. Эти заявления работают, как и ожидалось (для меня). $ echo [ 9876543210 ] [ 9876543210 ] $ echo [237890] [237890] Эти эхо-операторы последовательно отображают 1 …

7
Случайные цвета и шутки в оболочке / терминале
Я видел человека, который во время использования своего терминала выводил шутку, менял цвета и смеялся над пользователем. Он сказал что-то вроде утечки цветов в консоли с (года). Я не помню, что это было, но я хотел бы использовать его, потому что Kubuntu Konsole становится очень скучным после долгих часов использования, …

4
Почему некоторые оболочки `read` не могут прочитать всю строку из файла в` / proc`?
В некоторых Bourne-подобные оболочкам, то readвстроенный не может прочитать всю строку из файла /proc(команда ниже должны быть запущены в zsh, замените $=shellс $shellдругими оболочками): $ for shell in bash dash ksh mksh yash zsh schily-sh heirloom-sh "busybox sh"; do printf '[%s]\n' "$shell" $=shell -c 'IFS= read x </proc/sys/fs/file-max; echo "$x"' …
19 linux  shell  proc  read 



5
Команды, чтобы узнать о незнакомой системе [закрыто]
Закрыто . Этот вопрос должен быть более сфокусированным . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он был сосредоточен только на одной проблеме, отредактировав этот пост . Закрыто 4 года назад . Вы входите в незнакомую систему UNIX или Linux (с правами root). Какие …

5
Зачем использовать diff / patch, когда проще просто использовать cp
diff -u file1.txt file2.txt > patchfile создает файл патча, который состоит из инструкции для patchпреобразования file1.txt в файл точно такой же, как file2.txt Разве это не может быть сделано с помощью cpкоманды вместо этого? Я могу представить, что это будет полезно, когда файл слишком велик и должен передаваться по сети, …
19 shell  cp  diff  patch 

3
Когда я перехожу по символической ссылке, почему pwd показывает символическую ссылку вместо реального пути?
Я создал программную ссылку ( ln -s 1 2) на каталог, который находится внутри testкаталога, открыл программную ссылку ( cd 2) и отобразил текущий путь, используя pwd. Отображаемый путь был ~/test/2и нет ~/test/1. В ОС, такой как Windows, все по-другому, ярлык приводит нас к реальному каталогу. Я немного запутался, как …

4
Как я могу реализовать круговой поток данных между взаимосвязанными командами?
Я знаю два типа, как команды могут быть связаны друг с другом: используя Pipe (помещая std-output в std-input следующей команды). с помощью тройника (разделить выход на несколько выходов). Я не знаю, возможно ли это все, поэтому я рисую гипотетический тип соединения: Как можно реализовать круговой поток данных между командами, как, …

9
Является ли использование «while true» для поддержания подлинности сценария хорошей идеей?
Я просто прыгаю в Unix из другого мира, и хотел знать, если while true do /someperlscript.pl done В самом скрипте perl есть средство просмотра папок / файлов, которое выполняется при изменении файлов в целевом местоположении. Это while trueхорошая идея? Если нет, то какой предпочтительный надежный подход? ТИА РЕДАКТИРОВАТЬ: так как …
19 shell  perl 

5
Почему я иногда получаю многократные подсказки с «>» в ​​терминале?
Хорошо, когда я запускаю определенные команды неправильным образом (с ошибками и т. Д.), Терминал выводит это: >вместо computername:workingfolder username$, и когда я набираю команду enter, она выглядит следующим образом: > > > Это было бы, если бы я нажал ввод 3 раза.

4
Как присвоить пространственные значения переменным в bash, используя eval
Я хочу динамически присваивать значения переменным, используя eval. Следующий фиктивный пример работает: var_name="fruit" var_value="orange" eval $(echo $var_name=$var_value) echo $fruit orange Однако когда значение переменной содержит пробелы, evalвозвращается ошибка, даже если $var_valueона заключена в двойные кавычки: var_name="fruit" var_value="blue orange" eval $(echo $var_name="$var_value") bash: orange : command not found Есть ли способ …
19 bash  shell  quoting 

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