小编CSJ*_*CSJ的帖子

python os.environ,os.putenv,/ usr/bin/env

我想确保os.system('env')不包含一些myname 导出~/.bashrc为的特定变量export myname=csj

因此,我在下面写了python代码:

import os

def print_all():
    print "os.environ['myname']=%s" % os.environ.get('myname')
    print "os.getenv('myname')=%s" % os.getenv('myname')
    os.system('env | grep myname')
    print

def delete_myname():
    if 'myname' in os.environ: os.environ.pop('myname')
    if os.getenv('myname'): os.unsetenv('myname')

print_all()

os.putenv('myname', 'csj2')
print "---------------------"
delete_myname()
print_all()

os.putenv('myname', 'csj3')
print "---------------------"
delete_myname()
print_all()
Run Code Online (Sandbox Code Playgroud)

我认为检查两者os.environ['myname'],os.getenv('myname') 然后删除它们,如果存在,可以确保os.system('env | grep myname')什么都得不到.

但结果是:

os.environ['myname']=csj
os.getenv('myname')=csj
myname=csj

---------------------
os.environ['myname']=None
os.getenv('myname')=None

---------------------
os.environ['myname']=None
os.getenv('myname')=None
myname=csj3
Run Code Online (Sandbox Code Playgroud)

我不明白为什么还要csj3上车os.system('env | grep myname')

python

15
推荐指数
1
解决办法
3万
查看次数

ifup eth0每次开机

04并且默认内核不支持网卡.所以,我将内核升级到3.2并支持它.但是,每次重启机器时,都需要调sudo ifup eth0出它.

如何修改某些配置以自动调出eht0?(不写入/etc/rc.local,因为我挂载NFS /etc/fstab,它需要先挂载rc.local).

linux ubuntu-11.04

10
推荐指数
2
解决办法
5万
查看次数

emacs + dirtree像普通文件浏览器一样工作

我是emacs的新手,我尝试过这样的图片:我使用m-x dirtree并显示左框架. http://db.tt/IbN9UaJR

但是当我点击文件时,它会在左框架/缓冲区中打开文件?...文件内容会替换dirtree本身.

我希望它像普通文件浏览器一样工作,如textwranger:http://db.tt/H14KsUsD

我怎样才能做到这一点?此外,如何在启动emacs时自动打开dirtree?

emacs

8
推荐指数
1
解决办法
3622
查看次数

ansible条件检查项的属性存在

我想使用ansible创建用户,并希望设置他们的shell和sudo权限.

现在我有vars/main.yml如下:

users: [{'name': 'user1', 'shell': '/bin/bash', 'sudo': 'user1 ALL=(ALL) NOPASSWD: ALL'}, {'name': 'user2', 'shell': '/bin/zsh', 'sudo': 'user2 ALL=NOPASSWD:/bin/systemctl *start nginx'}, {'name': 'user3', 'shell': '/bin/fish'}]
Run Code Online (Sandbox Code Playgroud)

在任务上,Set sudo permission for users 因为不是每个用户都有sudo权限,我需要检查sudo属性是否存在.

- name: Set sudo permission for users
  lineinfile:
    dest: /etc/sudoers
    state: present
    regexp: '^{{ item.name }}'
    line: "{{ item.sudo }}"
    backup: true
  when: "{{ item.sudo }}"
  with_items:
    - "{{ users }}"
Run Code Online (Sandbox Code Playgroud)

我收到如下错误:

TASK [createUsers : Set sudo permission for users] ***************************
fatal: [ubuntu]: FAILED! …
Run Code Online (Sandbox Code Playgroud)

ansible

6
推荐指数
1
解决办法
7149
查看次数

导出到 HTML 时使 Org 忽略下划线

我用Emacs Org-mode写了一些文件,我描述了一些文件,比如“/path/to/file_blah.conf”。

在我c-c c-e h将其中一个文件导出为 HTML 后,该文件中包含的所有文件名都_变成了小的下标词。

如何让 Org-mode 忽略下划线,以便我可以在 HTML 页面上看到文件名?

emacs formatting org-mode

5
推荐指数
2
解决办法
2290
查看次数

python os.fork子进程ID不连续

我正在os.fork使用CPython 3.7.2 尝试功能以下是示例

def main():
    data = 222

    childPid = os.fork()
    if childPid == -1:
        print('error on fork child')
    elif childPid == 0:
        data *= 3
    else:
        time.sleep(3)

    print("PID=%d data=%d" % (os.getpid(), data))
Run Code Online (Sandbox Code Playgroud)

当我使用C语言时,我总是为父母和孩子获得2个连续的PID.然而在Python中,我总是得到PID这是不连续的(例如,在这里我得到了2147521442).

PID=21475 data=666
PID=21442 data=222
Run Code Online (Sandbox Code Playgroud)

不明白它的表现如何不一样.

python

3
推荐指数
1
解决办法
62
查看次数

使用make -k时如何知道错误

我想记录构建代码的每个错误.所以我可以-k用来使它继续发生甚至错误发生.

但是,我能否知道发生了一些错误,-k是否继续?

我知道我可以检查一些模式错误消息make: ***.但我仍然想知道我是否可以在日志中有一些消息:"错误发生,继续制作",当我有-k.

谢谢.

makefile

2
推荐指数
1
解决办法
906
查看次数

C循环的条件

今天我做了一个拼写错误,然后发现下面的代码可以编译成功:

#include <stdio.h>
int main()
{
    int i;
    for (i=0;1,2,3,4,5;i++)
        printf("%d\n", i);
}
Run Code Online (Sandbox Code Playgroud)

我不明白为什么

1,2,3,4,5
Run Code Online (Sandbox Code Playgroud)

可以视为一个条件?

c loops

2
推荐指数
1
解决办法
120
查看次数

标签 统计

emacs ×2

python ×2

ansible ×1

c ×1

formatting ×1

linux ×1

loops ×1

makefile ×1

org-mode ×1

ubuntu-11.04 ×1