Как Вы используете newgrp в сценарии, тогда остаются в той группе, когда сценарий выходит

Как насчет этого:

df = pd.DataFrame(data = {'A': [1,2,3], 
                          'B': ['a b c d', 'e f g h', 'i j k l']})

y = lambda x : df.loc[df['A']==2,'B'].str[0:2*x+2] + df.loc[df['A']==2,'B'].str[-1]
df.loc[df1['A']==2,'B'] = y(1)

Тогда df находится в розыске:

   A        B
0  1  a b c d
1  2    e f h
2  3  i j k l
9
задан Paul 18 November 2008 в 18:46
поделиться

3 ответа

Возможно,

exec $SHELL

добился бы цели?

0
ответ дан 4 December 2019 в 06:35
поделиться

Вы могли использовать sh& (или безотносительно оболочки, которую Вы хотите использовать) вместо xterm&

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

0
ответ дан 4 December 2019 в 06:35
поделиться

newgrp команда может только значительно использоваться от интерактивной оболочки, AFAICT. На самом деле я разочаровался в нем о... хорошо, скажем, достаточно долго назад, что замена, которую я записал, теперь имеет право голосовать и в Великобритании и в США.

Отметьте это newgrp специальная команда, 'встроенная в' оболочку. Строго, это - команда, которая является внешней к оболочке, но оболочка имеет встроенное знание о том, как обработать его. Оболочка на самом деле execпрограмма, таким образом, Вы получаете новую оболочку сразу впоследствии. Это - также корневая программа setuid. На Солярисе, по крайней мере, newgrp также, кажется, игнорирует переменную Среды оболочки.

У меня есть множество программ, которые работают вокруг проблемы это newgrp был предназначен для обращения. Помните, команда предшествует способности пользователей принадлежать нескольким группам сразу (см. Руководства Unix Версии 7). С тех пор newgrp не обеспечивает механизм для выполнения команд после того, как он выполнится, в отличие от этого, su или sudo, Я записал программу newgid который, как newgrp, корневая программа setuid и позволяет Вам переключаться от одной группы на другого. Это довольно просто - просто основной () плюс ряд стандартизированных используемых функций сообщения об ошибке. Свяжитесь со мной (сначала, точка в последний раз в Gmail отмечает точкой com) для источника. Мне также назвали намного более опасную команду'asroot'это позволяет мне (но только мне - при компиляции по умолчанию) настраивать пользователя и списки группы намного более тщательно.

asroot: Configured for use by jleffler only
Usage: asroot [-hnpxzV] [<uid controls>] [<gid controls>] [-m umask] [--] command [arguments]
    <uid controls> = [-u usr|-U uid] [-s euser|-S euid][-i user]
    <gid controls> = [-C] [-g grp|-G gid] [-a grp][-A gid] [-r egrp|-R egid]
Use -h for more help

Option summary:
 -a group  Add auxilliary group (by name)
 -A gid    Add auxilliary group (by number)
 -C        Cancel all auxilliary groups
 -g group  Run with specified real GID (by name)
 -G gid    Run with specified real GID (by number)
 -h        Print this message and exit
 -i        Initialize UID and GIDs as if for user (by name or number)
 -m umask  Set umask to given value
 -n        Do not run program

 -p        Print privileges to be set
 -r euser  Run with specified effective UID (by name)
 -R euid   Run with specified effective UID (by number)
 -s egroup Run with specified effective GID (by name)
 -S egid   Run with specified effective GID (by number)
 -u user   Run with specified real UID (by name)
 -U uid    Run with specified real UID (by number)
 -V        Print version and exit
 -x        Trace commands that are executed
 -z        Do not verify the UID/GID numbers
Mnemonic for effective UID/GID:
    s is second letter of user;
    r is second letter of group

(Эта программа выросла: если бы я был восстанавливающий его с нуля, то я принял бы идентификатор пользователя или имя пользователя, не требуя различных букв опции; так же для идентификатора группы или названия группы.)

Это может быть хитро для получения разрешения установить корневые программы setuid. Существуют некоторые обходные решения, доступные теперь из-за средств мультигруппы. Одна техника, которая может работать, состоит в том, чтобы установить setgid, обдумал каталоги, где Вы хотите созданные файлы. Это означает, что независимо от того, кто создает файл, файл будет принадлежать группе, которая владеет каталогом. Это часто достигает эффекта, в котором Вы нуждаетесь - хотя я знаю о немногих людях, которые последовательно используют это.

7
ответ дан 4 December 2019 в 06:35
поделиться
Другие вопросы по тегам:

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