<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Как спросить у шела - кто ты?</title>
    <link>https://slinkov.ru/openforum/vsluhforumID1/83426.html</link>
    <description>В сети много видел вопросов из серии как узнать какой shell сейчас запущен, но так и не нашол ответа, обычно пургу отвечают. :) Универсального ответа так и не нашол...&lt;br&gt;&lt;br&gt;Вопрос: как в шелле узнать какой шелл???&lt;br&gt;&lt;br&gt;Ответ1&lt;br&gt; echo $SHELL не катит т.к. он показывает переменную окружения, а не шелл в котором я счас. Например после логина запуская у меня на сервере разные шелы и сомтря занчение переменной - видим одно и тоже... шелл который по умолчанию для меня.&lt;br&gt;&lt;br&gt;Ответ2&lt;br&gt;echo $0 тоже не катит, так как он показывает не шел в котором я а &quot;оболочку&quot; притом без пути. Попробуйте залогиниться под юзером набрать это, а потом набрать этоже после команды su :) оно и выдаст -su а не текущий шелл.&lt;br&gt;&lt;br&gt;Так что, кто-то знает как заставить шелл признаться - какой у него исполняемый файл(полный путь и имя файла) и неплохо бы ешо его и версию&lt;br&gt;</description>

<item>
    <title>Как спросить у шела - кто ты? (angra)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID1/83426.html#17</link>
    <pubDate>Mon, 22 Dec 2008 18:44:10 GMT</pubDate>
    <description>Не совсем так. Ее нет у sh, который условно можно считать всегда имеющимся в наличии минимумом. В других шеллах такие средства есть, но различаются и на этом отличии и можно сыграть, например для баша будет непустой $BASH, для tcsh скорее всего $SHLVL итд. Поищите уникальные особенности в манах по нужным вам шеллам. &lt;br&gt;А можно узнать для чего вообще такой изврат нужен? Ведь даже если вы пытаетесь выполнить команды через ssh на машине с неизвестным шеллом, то можно либо ограничится sh, либо передать файл с нужным скриптом через scp. Для последнегоо скорее важно наличие(/etc/shells) нужных шеллов(а еще лучше перла), а не выяснение текущего шелла. &lt;br&gt;</description>
</item>

<item>
    <title>в общем-то оно никому не нужно (Andrey Mitrofanov)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID1/83426.html#16</link>
    <pubDate>Mon, 22 Dec 2008 08:20:36 GMT</pubDate>
    <description>&amp;gt;я так понимаю в интерпритаторах нет встроенной команды для вывода информации про &lt;br&gt;&amp;gt;сам интерпритатор. :(&lt;br&gt;&lt;br&gt;&quot;Переносимого&quot; (для любого ос-а и любого sh), видимо, нет. &quot;Их&quot; просто много, и &quot;минимальное&quot; подмножество (оно же - переносимый шелл, юних шелл, посикс шелл) очень куцее.&lt;br&gt;&lt;br&gt;Соответственно, либо пишешь &quot;переносимо&quot; и отплясываешь вокруг всех ограничений всех возможных шеллов, либо, если есть возможность, выбираешь 1 из возможных шелов и пишешь на нём, &quot;несовместимо&quot;.&lt;br&gt;</description>
</item>

<item>
    <title>Как спросить у шела - кто ты? (Kurk_SS)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID1/83426.html#15</link>
    <pubDate>Mon, 22 Dec 2008 07:34:56 GMT</pubDate>
    <description>спасибо за ответы, но я так понял что мы пошли по пути получения чистого имени шела из вывода ps зная ПИД шела по переменной $$. Всё это понятно, яб и сам сделал, еслиб небыло ситуаций когда $$ хранит не пид шела а например команды su У меня кстате FreeBSD&lt;br&gt;&lt;br&gt;я так понимаю в интерпритаторах нет встроенной команды для вывода информации про сам интерпритатор. :(&lt;br&gt;</description>
</item>

<item>
    <title>Как спросить у шела - кто ты? (Andrey Mitrofanov)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID1/83426.html#14</link>
    <pubDate>Mon, 22 Dec 2008 06:36:26 GMT</pubDate>
    <description>&amp;gt;ps auxw &amp;#124; grep &#096;echo $$&#096; &amp;#124; grep -v grep &amp;#124;awk &apos;&#123;print &lt;br&gt;&amp;gt;$11;&#125;&apos; &lt;br&gt;&lt;br&gt;ps &amp;#124;awk &apos;$1==&quot;&apos;$$&apos;&quot;&#123;print $4;exit&#125;&apos;&lt;br&gt;</description>
</item>

<item>
    <title>Как спросить у шела - кто ты? (universite)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID1/83426.html#13</link>
    <pubDate>Sun, 21 Dec 2008 23:27:27 GMT</pubDate>
    <description>&amp;gt;В сети много видел вопросов из серии как узнать какой shell сейчас &lt;br&gt;&amp;gt;запущен, но так и не нашол ответа, обычно пургу отвечают. :) &lt;br&gt;&amp;gt;Универсального ответа так и не нашол... &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Вопрос: как в шелле узнать какой шелл??? &lt;br&gt;&lt;br&gt;ps auxw &amp;#124; grep &#096;echo $$&#096; &amp;#124; grep -v grep &amp;#124;awk &apos;&#123;print $11;&#125;&apos;&lt;br&gt;</description>
</item>

<item>
    <title>Как спросить у шела - кто ты? (Hetzer)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID1/83426.html#12</link>
    <pubDate>Sun, 21 Dec 2008 19:33:48 GMT</pubDate>
    <description>&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;head -n 1 /proc/&#096;echo $$&#096;/status &lt;br&gt;&lt;br&gt;это для линуксов&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Как спросить у шела - кто ты? (Hetzer)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID1/83426.html#11</link>
    <pubDate>Sun, 21 Dec 2008 19:27:54 GMT</pubDate>
    <description>&lt;br&gt;озвучьте ТЗ полностью&lt;br&gt;</description>
</item>

<item>
    <title>Как спросить у шела - кто ты? (Kurk_SS)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID1/83426.html#10</link>
    <pubDate>Sun, 21 Dec 2008 18:49:54 GMT</pubDate>
    <description>&lt;br&gt;&amp;gt;head -n 1 /proc/&#096;echo $$&#096;/status &lt;br&gt;&lt;br&gt;до первого слеша я так понимаю = вывести шабку файла в количестве одна строка а потом имя файла должно ити или текст.... вот то что там ему не нравиться... пишет &lt;br&gt;/proc/&amp;lt;PID&amp;gt;/status нет такого файла&lt;br&gt;</description>
</item>

<item>
    <title>Как спросить у шела - кто ты? (Hetzer)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID1/83426.html#9</link>
    <pubDate>Sun, 21 Dec 2008 16:59:58 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Ответ2 &lt;br&gt;&amp;gt;echo $0 тоже не катит, так как он показывает не шел в &lt;br&gt;&amp;gt;котором я а &quot;оболочку&quot; притом без пути. Попробуйте залогиниться под юзером &lt;br&gt;&amp;gt;набрать это, а потом набрать этоже после команды su :) оно &lt;br&gt;&amp;gt;и выдаст -su а не текущий шелл. &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Так что, кто-то знает как заставить шелл признаться - какой у него &lt;br&gt;&amp;gt;исполняемый файл(полный путь и имя файла) и неплохо бы ешо его &lt;br&gt;&amp;gt;и версию &lt;br&gt;&lt;br&gt;head -n 1 /proc/&#096;echo $$&#096;/status&lt;br&gt;</description>
</item>

</channel>
</rss>
