Как узнать, где псевдоним (в смысле удара) определяется когда рабочий Терминал в Mac OS X

Так как вы используете Fragment, я предполагаю, что вы используете версию> 16. В этом случае я думаю, что есть другой (возможно, лучший) способ решения этой проблемы, который возвращает массив массивов. Примерно так:

[
  [
    <div key='one'>foo</div>,
    <div key='two'>bar</div>,
  ],
  [
    <div key='one'>foo</div>,
    <div key='two'>bar</div>,
  ],
  [
    <div key='one'>foo</div>,
  ],
]

На самом деле это «эквивалентно» вашему «Решению B», но IMHO менее «хакерский», потому что я думаю , что Fragment не предназначен для использоваться таким образом. Позвольте мне остановиться на этом:

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

[
  <span key="firstSpan">foo</span>,
  <span key="secondSpan">bar</span>,
] 

Но делать это немного странно и раздражает. Вот почему было изобретено Fragment, так что мы можем просто вернуть это:

<Fragment>
  <span>foo</span>
  <span>bar</span>
</Fragment>

Итак, большое преимущество Fragment состоит в том, что нам не нужно назначать keys их дочерним элементам , Вот почему я нахожу немного странным видеть Fragment с «ключами» детей.

Кроме того, я хотел сказать, что не думаю, что с вашим «вариантом А» что-то не так. Тем не менее, я думаю, что в большинстве случаев решение, которое я предлагаю, будет намного легче реализовать.

51
задан pjmorse 26 April 2013 в 07:18
поделиться

5 ответов

Сначала используйте следующие команды

Список все функции

functions 

Список все псевдонимы

alias 

, Если Вы не находите, что псевдоним или функция рассматривают более агрессивный метод поиска

версия

bash -ixlc : 2>&1 | grep thingToSearchHere

Bash Объяснение Резюме версии

zsh -ixc : 2>&1 | grep thingToSearchHere

Zsh Опций

-i     Force shell to be interactive.

-c     Take the first argument as a command to execute

-x      -- equivalent to --xtrace

-l      Make bash act as if invoked as a login shell
1
ответ дан 7 November 2019 в 10:10
поделиться

вы можете просто ввести alias в командной строке, чтобы увидеть, какие псевдонимы у вас есть. Иначе, вы можете выполнить find в наиболее распространенных местах, где определены псевдонимы, например,

grep -RHi "alias" /etc /root
30
ответ дан 7 November 2019 в 10:10
поделиться

Также в будущем это стандартные файлы конфигурации bash

  • / etc / profile
  • ~ / .bash_profile или ~ / .bash_login или ~ / .profile
  • ~ / .bash_logout
  • ~ /. bashrc

Дополнительная информация: http://www.heimhardt.com/htdocs/bashrcs.html

14
ответ дан 7 November 2019 в 10:10
поделиться

Я нашел ответ (Я смотрел на нужный файл, но упустил очевидное).

Псевдонимы в моем случае определены в файле ~ / .bash_profile

Каким-то образом это ускользнуло от меня.

1
ответ дан 7 November 2019 в 10:10
поделиться

Я думаю, что, возможно, это похоже на то, что имел в виду ghostdog74 , однако их команда не сработала для меня.

Я бы попробовал что-то вроде этого:

for i in `find . -type f`; do   # find all files in/under current dir
echo "========" 
echo $i                         # print file name
cat $i | grep "alias"           # find if it has alias and if it does print the line containing it
done

Если вы хотите быть по-настоящему необычным, вы можете даже добавить if [[grep -c "alias"]] then

0
ответ дан 7 November 2019 в 10:10
поделиться
Другие вопросы по тегам:

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