小编spe*_*007的帖子

错误:使用su命令从root用户切换到docker容器内的非root用户时"无法打开会话"

我无法使用su命令从root用户切换到docker容器内的非root用户.

以下是我的所作所为

  1. 我在centos上创建了一个docker容器:6

  2. 在容器内创建了一个用户"circa"

  3. 更新了/etc/security/limits.conf文件,其中包含容器中的以下数据

    大约硬nofile 5000

    大约软nofile 5000

  4. 但是当我使用命令"su - circa"切换到用户"circa"时,我收到错误

    "无法开会"

如果我将nofile数量减少到"4000"左右,我可以使用命令"su - circa"以大约用户身份登录并运行我的服务器程序.

我需要做什么才能使它适用于更高的nofile计数?

关于我的环境的一些细节:

Docker主机信息

#kernel version
# uname -r
3.10.81-1.el6.elrepo.x86_64

#os release
# cat /etc/redhat-release
CentOS release 6.5 (Final)
Run Code Online (Sandbox Code Playgroud)

Docker Container信息

#os release
# cat /etc/redhat-release
CentOS release 6.6 (Final)

#kernel version
# uname -r
3.10.81-1.el6.elrepo.x86_64
Run Code Online (Sandbox Code Playgroud)

linux docker

5
推荐指数
0
解决办法
1951
查看次数

将包含多个日期记录的UNIX文件拆分为每个日期的一个文件

我有一个包含以下记录的UNIX CSV文件 -

Merged_file.csv
USD,2015-09-22 02:34:43.0,XXX
USD,2015-09-22 03:31:43.0,XXX
USD,2015-09-22 04:35:43.0,XXX
USD,2015-09-23 03:31:43.0,XXX
USD,2015-09-23 02:34:43.0,XXX
USD,2015-09-23 03:37:43.0,XXX
USD,2015-09-23 04:32:43.0,XXX
Run Code Online (Sandbox Code Playgroud)

我想将此文件拆分为多个文件,例如一个文件应包含仅一个日期的记录.

需要的产出 -

File_2015-09-23.csv - 
USD,2015-09-23 03:31:43.0,XXX
USD,2015-09-23 02:34:43.0,XXX
USD,2015-09-23 03:37:43.0,XXX
USD,2015-09-23 04:32:43.0,XXX

File_2015-09-22.csv -
USD,2015-09-22 02:34:43.0,XXX
USD,2015-09-22 03:31:43.0,XXX
USD,2015-09-22 04:35:43.0,XXX
Run Code Online (Sandbox Code Playgroud)

我尝试使用下面的命令,但由于第二个字段是时间戳,它为每个时间戳创建单独的文件,我无法弄清楚如何只将日期作为分割文件的基本字符串 -

awk -F, '{print >  "File_"$2".csv"}' Merged_file.csv
Run Code Online (Sandbox Code Playgroud)

感谢是否有人可以提供帮助.

unix shell awk sed

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

Bash - While Loop

这个while循环我遇到了麻烦.这是我目前得到的错误:[::预期一元运算符(第3行)

这是我的代码:

    #!/bin/bash

while [ "$option" <= 3 ]; do
    echo "1) View 'HelloWorld' Text";
    echo "2) View 'MyName' Text";
    echo "3) View 'HappyFall' Text";
    echo "4) Exit\n";

    read -p "Please choose your option using numbers 1-4: " option;
        if [ "$option" == 1 ]
        then
            cat HelloWorld
        elif [ "$option" == 2 ]
        then
            cat MyName
        elif [ "$option" == 3 ]
        then
            cat HappyFall
        else
        echo "Exiting...";
        fi
done
Run Code Online (Sandbox Code Playgroud)

linux bash shell ubuntu

0
推荐指数
1
解决办法
240
查看次数

标签 统计

linux ×2

shell ×2

awk ×1

bash ×1

docker ×1

sed ×1

ubuntu ×1

unix ×1