Проверка того, является ли команда встроенной в ksh

удар completition

Я не верю этому yum выполнит автоматическое завершение, когда Вы поразите клавишу Tab по умолчанию. Я нашел это Вопросами и ответами U&L названный: завершение удара Пакета, отсутствующее в Конфетке в CentOS 6, и выглядит, как будто необходимо установить пакет bash-completion.

$ sudo yum install bash-completion

repolist

Я использовал бы некоторые другие функции конфетки для определения то, что продолжается. Для начинающих Вы видите то, о чем знает repos конфетка:

$ yum repolist
Loaded plugins: langpacks, presto, refresh-packagekit
Adding en_US to language list
repo id                    repo name                                      status
Dropbox                    Dropbox Repository                                  4
adobe-linux-i386           Adobe Systems Incorporated                         17
adobe-linux-x86_64         Adobe Systems Incorporated                          2
fedora                     Fedora 14 - x86_64                             22,161
google-chrome              google-chrome                                       3
google-earth               google-earth                                        1
google-talkplugin          google-talkplugin                                   1
lamolabs                   LamoLabs Repo                                      58
lamolabs-noarch            LamoLabs Repo                                       2
nautilus-flickr-uploader   Nautilus Flickr Uploader for Fedora 14              3
rpmfusion-free             RPM Fusion for Fedora 14 - Free                   411
rpmfusion-free-updates     RPM Fusion for Fedora 14 - Free - Updates         642
rpmfusion-nonfree          RPM Fusion for Fedora 14 - Nonfree                181
rpmfusion-nonfree-updates  RPM Fusion for Fedora 14 - Nonfree - Updates      282
scootersoftware            Scooter Software                                    1
updates                    Fedora 14 - x86_64 - Updates                    9,982
wuala                      cdn.wuala.com                                       8

доступный список

Можно также использовать эту команду для наблюдения то, что доступно в repos, к которому у Вас есть доступ:

$ yum list available 'php-*'
php-mapi.x86_64                                     7.0.3-1.fc14         updates
php-mapserver.x86_64                                5.6.7-1.fc14         updates
php-markdown.noarch                                 1.0.1n-1.fc14        fedora·
php-mbstring.x86_64                                 5.3.8-3.fc14         updates
php-mcrypt.x86_64                                   5.3.8-3.fc14         updates
php-mssql.x86_64                                    5.3.8-3.fc14         updates
php-mysql.x86_64                                    5.3.8-3.fc14         updates
php-nusoap.noarch                                   0.9.5-1.fc14         fedora·
php-oauth.noarch                                    1.0-0.7.svn592.fc12  fedora·
php-odbc.x86_64                                     5.3.8-3.fc14         updates
...

поиск

Можно просто искать репозитории, слишком использующие эту команду:

$ yum search 'php-devel'
Loaded plugins: langpacks, presto, refresh-packagekit
Adding en_US to language list
============================== Matched: php-devel ==============================
php-devel.x86_64 : Files needed for building PHP extensions
php-devel.i686 : Files needed for building PHP extensions
ice-php-devel.i686 : Tools for developing Ice applications in PHP
ice-php-devel.x86_64 : Tools for developing Ice applications in PHP

repoquery

Можно использовать этот инструмент, если у Вас есть доступ к repo для обнаружения, какой repo обеспечивает данный пакет:

$ repoquery php-devel
php-devel-0:5.3.3-22.el6.x86_64

$ repoquery -i php-devel

Name        : php-devel
Version     : 5.3.3
Release     : 22.el6
Architecture: x86_64
Size        : 3188116
Packager    : CentOS BuildSystem 
Group       : Development/Libraries
URL         : http://www.php.net/
Repository  : base
Summary     : Files needed for building PHP extensions
Source      : php-5.3.3-22.el6.src.rpm
Description :
The php-devel package contains the files needed for building PHP
extensions. If you need to compile your own PHP extensions, you will
need to install this package.

От вышеупомянутого мы видим что пакет php-devel выходит base репозиторий.

fastestmirror

Иногда этот плагин может вызывать Вашу проблему. Можно удалить, это - кэш, которого зеркально отражает для использования так, чтобы это могло быть повторно создано.

$ locate timedhosts.txt
/var/cache/yum/x86_64/6/timedhosts.txt

$ sudo rm /var/cache/yum/x86_64/6/timedhosts.txt

Затем выполните свою вкусную установку php-devel команда снова.

подробный

Большинство упомянутых выше команд может взять переключатель --verbose или -v. Например, можно работать yum list available управляйте для получения некоторого понимания что yum на самом деле делает негласно:

$ yum --verbose list available php-devel
Loading "fastestmirror" plugin
Loading "priorities" plugin
Loading "refresh-packagekit" plugin
Config time: 0.020
Yum Version: 3.2.29
Setting up Package Sacks
Loading mirror speeds from cached hostfile
 * base: mirror.thelinuxfix.com
 * epel: mirror.steadfast.net
 * extras: yum.singlehop.com
 * updates: ftpmirror.your.org
 --> python-netaddr-0.7.5-4.el6.noarch from base excluded (priority)
 --> python-tw-forms-0.9.9-1.el6.noarch from base excluded (priority)

 ...
 ...

 --> wxGTK-devel-2.8.12-1.el6.centos.x86_64 from extras excluded (priority)
73 packages excluded due to repository priority protections
pkgsack time: 6.174
rpmdb time: 0.000
Available Packages
php-devel.x86_64                        5.3.3-22.el6                        base

основывать отключенный repos?

В рассмотрении Вашего вывода от команд Вы работали, похоже, что Ваша база repos отключена (/etc/yum.repos.d/CentOS-Base.repo:enabled=0), им нужно включить.

Можно или отредактировать те файлы и изменить строки с 0 до 1 или работать, это управляет:

$ yum-config-manager --enable base
$ yum-config-manager --enable updates

включите весь repos

Вы могли также попытаться просто включить весь свой repos с этой командой:

$ yum --enablerepo=\* search php-devel
5
12.05.2015, 17:01
3 ответа

Если ваша забота о псевдониме, просто сделать:

[[ $(unalias -- "$cmd"; type -- "$cmd") = *builtin ]]

( $ (...) Создание среды подпунктов, поэтому Unalias .

Если вы также обеспокоены функциями, также запущены Команда unset -f - "$ cmd" до Тип .

5
27.01.2020, 20:39

Я боюсь, что вы, возможно, потрачены впустую свое время, реализующие это; KSH93 поддерживает команду встроенную команду . Например. С KSH версии 93T 2008-11-04 :

$ builtin
...creates list of all builtins

$ builtin jobs umask
...returns with exit code 0

$ builtin jobs time umask
...returns with exit code 1 and prints "builtin: time: not found"


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

0
27.01.2020, 20:39
#! /bin/sh

path_to_your_command=$(command -v your_command)

if [ "${path_to_your_command}" = 'your_command' ]; then
  echo 'your_command is a special builtin.'
else
  if [ -n "${path_to_your_command}" ]; then
    echo "your_command is a regular builtin, located at ${path_to_your_command}."
  else
    echo "your_command is not a builtin (and/or does not exist as it cannot be found in \$PATH)."
  fi
fi
0
28.05.2021, 15:11

Теги

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