169 похожих чатов

Всем здрасьте! Пытаюсь тут подружиться bash и не могу понять

для чего нужна команда type. Можете объяснить что она делает?
p.s. Да я пытался гуглить, но офф формулировка, рождает еще больше вопросов чем дает ответ.

9 ответов

17 просмотров

man type читал?

Toni-Чемоданов Автор вопроса
Sergey Gureev
man type читал?

И описание…. Утилита типов указывает, как будет интерпретироваться каждый операнд имени, если он будет использоваться в качестве команды. type отображает информацию о каждом операнде, идентифицируя операнд как встроенную оболочку, функцию, псевдоним, хешированную команду или ключевое слово, и, где это применимо, может отображать путь операнда. Не дает ясности.

Toni-Чемоданов Автор вопроса
Toni Чемоданов
И описание…. Утилита типов указывает, как будет ин...

Так шо котята?! Кто нибудь объяснит что это? То что она указывает, на то что команда внутренняя или внешняя, я понял. И что? Это единственное применение этой команды ?

Toni Чемоданов
И описание…. Утилита типов указывает, как будет ин...

в баше ты в основном манипулируешь строками, когда работаешь с переменными, пайпами и т.д. и эти строки в баше можно попытаться выполнить как команду например, код PRINT="/usr/bin/echo" $PRINT 'hello wrold' "запомнит" строку "/usr/bin/echo" в переменную оболочки PRINT затем разрешит имя PRINT в значение и выполнит это значение как команду так вот, узнать, что ты такое собрался выполнить, можно ДО того, как интерпретатор это выполнит, путем запуска команды type, которой в качестве аргумента будет передана команда, которую ты собираешься выполнить type $PRINT вернет /usr/bin/echo is /usr/bin/echo также это будет работать со встроенными функциями оболочки, пользовательскими функциями, алиасами и т.д. и если команде type неизвестно, что это за команда, оена вернет тебе не нулевой exit code

Toni-Чемоданов Автор вопроса
Sergey Gureev
в баше ты в основном манипулируешь строками, когда...

Так, если подытожить, то команда говорит о том что делает другая команда. Я правильно понял ?

Toni Чемоданов
Так, если подытожить, то команда говорит о том что...

нет тайп показывает, чем является строка, которую ты собираешься выполнить как команду

Toni-Чемоданов Автор вопроса
Sergey Gureev
нет тайп показывает, чем является строка, которую ...

Извини меня, но выглядит как загадка в загадке. Я не понимаю формулировки, что значит «чем являться строка»

Toni Чемоданов
Извини меня, но выглядит как загадка в загадке. Я ...

баш оперирует строуками ты вводишь ему команды — строки он выплевывает тебе в ответ строки — резултьтат выполнения этих команд чтобы узнать, чем является команда, которую ты хочешь выполнить, используется тайп тайп определяет, чем является эта команда — функцией оболочки, определенной в скрипте функцией, алиасом, исполняемым файлов если тайп не может определить, чем является команда, он возвращает ошибку — не нулевой код заверешния команды

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Карта сайта