我无法使用su命令从root用户切换到docker容器内的非root用户.
以下是我的所作所为
我在centos上创建了一个docker容器:6
在容器内创建了一个用户"circa"
更新了/etc/security/limits.conf文件,其中包含容器中的以下数据
大约硬nofile 5000
大约软nofile 5000
但是当我使用命令"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) 我有一个包含以下记录的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)
感谢是否有人可以提供帮助.
这个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)