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

Оболочка Korn (ksh) - это оболочка с расширенными возможностями сценариев, обычно используемая в коммерческих системах и некоторых системах BSD, но редко используемая в Linux.

86
Почему расширение параметров с пробелами без кавычек работает в двойных скобках «[[», но не в одинарных скобках «[»?

Я запутался с использованием одинарных или двойных скобок. Посмотрите на этот код: dir="/home/mazimi/VirtualBox VMs" if [[ -d ${dir} ]]; then echo "yep" fi Это работает отлично, хотя строка содержит пробел. Но когда я изменяю это на одну скобку: dir="/home/mazimi/VirtualBox VMs" if [ -d ${dir} ];...

73
В чем разница между $ * и $ @?

Рассмотрим следующий код: foo () { echo $* } bar () { echo $@ } foo 1 2 3 4 bar 1 2 3 4 Это выводит: 1 2 3 4 1 2 3 4 Я использую Ksh88, но меня интересуют и другие распространенные оболочки. Если вы знаете какие-либо особенности конкретных оболочек, пожалуйста, укажите их. Я нашел следующее в...

58
Оболочка ksh93 мертва?

2013-01-10 Гленн Фаулер опубликовал это в списке рассылки ast-users : Как уже несколько раз указывалось в списках AST и UWIN, AT & T практически не поддерживает программное обеспечение OpenSouce, поэтому у нас так мало людей, которые занимаются нашей довольно большой коллекцией программного...

51
Получение размера только с использованием файлов du

Как я могу получить размер всех файлов и всех файлов в его подкаталогах, используя команду du. Я пытаюсь с помощью следующей команды получить размер всех файлов (и файлов в подкаталогах) find . -type f | du -a Но это также распечатывает размеры папок. Как я могу получить список размеров всех файлов...

39
Экспорт переменной с точкой (.) В ней

Как экспортировать переменную, в которой есть точка. Я получаю «недопустимое имя переменной», когда я пытался: export my.home=/tmp/someDir -ksh: my.home=/tmp/someDir: invalid variable name Даже экранирование метасимволов (.) Не помогло $ export my\.home=/tmp/someDir export: my.home=/tmp/someDir: is...

29
Использование sed для окраски вывода команды на солярисе

У меня есть скрипт ksh, который должен работать как на Linux, так и на Solaris. Я пытаюсь раскрасить вывод определенных команд. Он работает на Linux (в частности, RHEL6), но не на Solaris (SunOS 5.10). Команда на Linux (вывод «test» правильно окрашен красным): [amartin@linuxbox:~]$ echo "test" |...

26
Удалить все файлы, созданные до определенной даты

У меня есть каталог, содержащий большое количество файлов (например, журналы на каждый день года). Я хотел бы удалить все файлы, созданные до, скажем, 22/11. Как я могу этого достичь? Должен ли я использовать findтогда exec -rm? Я использую...

25
Есть ли проблемы с дефисами в функциях, псевдонимах и исполняемых файлах?

В моем тестировании (в Bash и Z Shell) я не видел проблем с определением функций или псевдонимов или исполняемых сценариев оболочки, в имени которых есть дефисы, но я не уверен, что это будет хорошо во всех оболочках и во всех случаях использования. , Причина, по которой я хотел бы сделать это,...

25
Выполнение пользовательской функции в вызове find -exec

Я использую Solaris 10, и я протестировал следующее с помощью ksh (88), bash (3.00) и zsh (4.2.1). Следующий код не дает никакого результата: function foo { echo "Hello World" } find somedir -exec foo \; Поиск действительно соответствует нескольким файлам (как показано заменой -exec ...на -print),...

23
Зачем избегать тривиальных символов в сценарии оболочки?

Я только что открыл устаревший скрипт оболочки (написанный на старом ksh88 на Solaris) и обнаружил, что во всем коде повторяется следующее: [ -f $myfile ] && \rm -f $myfile Убегающий обратный слеш кажется мне странным. Я знаю, что это преднамеренно, так как этот вид (очевидно бесполезный)...

23
Как получить ответ с любого URL?

Меня попросили написать скрипт оболочки. Чтобы проверить, является ли URL UP / Working или нет для моего Проекта. Я пытался найти некоторые подсказки через Интернет, но все, что я получил, это о проверке, существует ли URL или нет. Я впервые попробовал с wget. wget -S --spider...

22
определить оболочку в скрипте во время выполнения

Насколько мне известно, для определения текущей оболочки мы используем echo $0в оболочке. Скорее я хочу, чтобы мой скрипт проверял, в какой оболочке он работает. Итак, я попытался напечатать $0в сценарии, и он возвращает имя сценария, как и должно. Итак, мой вопрос: как я могу определить, в какой...

21
Является ли for ((…)) {…;} допустимым синтаксисом оболочки? В каких снарядах?

Экспрессия: $ ksh -c 'for ((i=0;i<10;i++)){ echo $i;}' 0 1 2 3 4 работает правильно. Я не могу найти описание этого синтаксиса, в котором {...;}он заменяет, ; do ...; doneв руководстве. Есть ли ссылка в руководстве? Для каких оболочек это работает...

19
Что значит // 1 /

Операционная система QNX4 с использованием Korn Shell. Это в файле .profile. export VARDIR=//1/usr/pvcs Что представляет собой // 1