Linux shell 数组遍历
发表于|更新于|操作系统
在Linux下使用shell的时候,为方便起见,偶尔会用到一下数组。数组的申明方式是:
array=(element1 element2 element3 .... elementN) |
也就是直接用圆括号包数组元素包起来,数组元素之间用空格隔开就行了。
数据的读取如下
#echo ${array[0]} |
数组的遍历用到一个取全部:
${array[@]} |
完整示例如下:
for data in ${array[@]} |
文章作者: Leon
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Leon!
相关推荐
2019-10-20
yum 安装 Redis
yum 安装Redis:由于Centos官方yum源里面没有Redis,我们需要安装一个第三方的yum源,这里用了Fedora的epel仓库,执行命令安装,这里要注意一点,yum 安装的redis 版本不一定是最新的,可以用yum search redis 来查询安装源中的redis 版本,默认情况,版本较老。 安装epel仓库: yum install -y epel-release 然后使用 yum install -y redis 安装redis,yum 安装操作非常简单。 下面使用 cetnos7 systemctl 启动 redis,命令如下: systemctl start redis
2017-02-05
理解Linux的单用户多任务,多用户多任务概念
理解 Linux 的单用户多任务与多用户多任务概念引言在 Linux 操作系统中,单用户多任务和多用户多任务是两个重要的概念。它们描述了操作系统在不同的运行模式下如何处理任务和用户的并发执行。本文将解释这两个概念,并说明它们在 Linux 系统中的作用和区别。 单用户多任务在单用户多任务环境下,操作系统允许单个用户同时执行多个任务。这意味着用户可以在同一时间内运行多个应用程序,并在它们之间进行切换。每个任务都会分配一定的系统资源,如 CPU 时间、内存等。 Linux 提供了强大的多任务管理机制,使得用户可以同时运行多个程序,并轻松切换它们之间的上下文。通过在终端中运行多个命令、打开多个窗口或使用工作区切换等方式,用户可以同时处理多个任务。 单用户多任务环境非常适合个人计算机和工作站,因为它提供了高效的任务管理和资源利用。 多用户多任务在多用户多任务环境下,操作系统允许多个用户同时执行多个任务。每个用户都有自己的账户和权限,可以独立地运行和管理自己的任务和进程。 Linux 支持多用户访问和身份验证机制,因此多个用户可以同时登录到操作系统,并在各自的环境中执行任务。每个用户都...
2016-03-12
Shell实用案例:批量生成随机字符文件名
当我们需要在批量处理文件时,有时候需要为每个文件生成唯一的随机字符文件名。这种情况下,我们可以使用Shell脚本来批量生成随机字符文件名。下面是一个实用的Shell脚本案例,用于生成随机字符文件名。 #!/bin/bash# 指定生成文件名的数量num_files=10# 指定生成文件名的长度filename_length=8# 生成随机字符文件名函数generate_random_filename() { cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w $filename_length | head -n 1}# 创建文件并重命名for ((i=1; i<=$num_files; i++))do random_filename=$(generate_random_filename) touch "file$i.txt" mv "file$i.txt" "$random_filename.txt" ...
2019-11-05
Linux 删除 history 记录
在 Linux 中,您可以通过多种方法删除 shell 的历史记录。以下是几种常见的方法: 1. 清空当前会话的历史记录在当前 shell 会话中,您可以使用以下命令清空历史记录: history -c 这会清空当前会话的历史记录,但不会影响已保存的历史记录文件。 2. 删除历史记录文件默认情况下,bash 的历史记录保存在 ~/.bash_history 文件中。您可以删除该文件来清除所有历史记录: rm ~/.bash_history 3. 清空历史记录文件内容如果您只想清空文件的内容,而不删除文件本身,可以使用以下命令: > ~/.bash_history 或者使用 cat 命令重定向空内容到文件: cat /dev/null > ~/.bash_history 4. 退出当前会话前清除历史记录为了确保在退出当前 shell 会话时不保存任何历史记录,您可以在退出之前执行: history -c 然后使用 exit 命令退出 shell。 5. 修改历史记录的保存方式如果您希望禁用历史记录的保存,可以在 ~/.bashrc 文件中添加以下行: un...
2023-10-21
Linux fork: retry: No child processes
记录一下今天踩的坑. 同事构建了一个服务后到开发环境, 之后整台服务器就一直抛错, CPU狂飙, 16核的机器负载上到 七八百.发现问题后, 第一时间将开发环境 superver 服务 stop all.全部停止后发现 让然存在很多子进程未杀死 ps -ef |grep -i swoole |awk '{print $2}' |xargs kill -9 全部swoole 进程杀死后,等待1分钟 , top 检测负载降了下来. 重启服务. supervisorctl start all 重启后查看 supervisorctl status , 一直存在部分服务重启失败. 嘿嘿, 抛错 fork: retry: No child processes 查看 ulimit -a , max user processes (-u) 4096 很明显 dev1 开发账户控制的进程数超出上限了. ulimit -u 10000 果然, 执行指令 就ok了, 不在抛错了.
2020-05-04
Linux 环境变量命令 ENV
env:显示所有的环境变量 [root@root ~] envXDG_SESSION_ID=10532HOSTNAME=lenTERM=linuxSHELL=/bin/bashHISTSIZE=1000SSH_CLIENT=172.31.0.9 59430 22SSH_TTY=/dev/pts/0USER=rootLS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:...
评论
公告
记录技术实践,分享学习与思考。



