这很接近,但我在循环中引用第二个数组时遇到了麻烦.语法应该是什么样的?$ item返回"1"而不是"a,b,c或d"
colors=( teal purple pink red green darkblue skyblue )
teal=( a b c d )
for color in ${colors[@]}
do
echo $color
for item in ${#{$color}[@]}
do
echo $item
done
done
Run Code Online (Sandbox Code Playgroud) 是否可以将命令的输出放入文件中?我试过做一个
echo history > history.txt
但它将文本历史记录改为该文件.
我有一个字符串将被爆炸以获得一个数组,并且我们知道,输出数组键将从0开始作为第一个元素的键,1开始为第二个元素,依此类推.
现在如何强制该数组从1开始而不是0?
这对于类型化数组来说非常简单,因为我们可以像这样编写它:
array('1'=>'value', 'another value', 'and another one');
Run Code Online (Sandbox Code Playgroud)
但是对于使用explode动态创建的数组,该怎么做?
谢谢.
我是Linux和bash脚本的新手,我目前很难解决这个问题!
我有一个包含许多图像的目录,我需要将这些图像复制到一个新位置.我知道有很多方法可以解决这个问题,但目前知识非常有限,所以我可能会以错误的方式解决这个问题.
我使用find和cat来创建这个列表,并尝试复制文件,以便在它们存在时比较它们(使用md5和检查文件名).
但是,文本文件上有30个文件,但只复制了18个文件.任何人都可以建议吗?
我找到文件的代码是 -
find $1 -name "IMG_****.JPG" | cat > list.txt
Run Code Online (Sandbox Code Playgroud)
我从列表中复制的代码是
for image in $(cat list.txt);
do
cp $image $2
done
Run Code Online (Sandbox Code Playgroud) 我需要从字符串中提取路径。我在另一篇文章中找到了示例,但缺少其他步骤。
我有一个字符串如下:
title="test test good dskgkdh hdfyr /rlsmodules/svnrepo/SOURCE/CBL/MQ/BASELINE/MQO000.CBL kdlkfg nsfgf trhrnrt"
cobsrc=$(awk '{match($0,/\/[^"]*/,a);print a[0]}' <<< $title)
echo $cobsrc
Run Code Online (Sandbox Code Playgroud)
输出是
/rlsmodules/svnrepo/SOURCE/CBL/MQ/BASELINE/MQO000.CBL kdlkfg nsfgf trhrnrt
Run Code Online (Sandbox Code Playgroud)
我只需要
/rlsmodules/svnrepo/SOURCE/CBL/MQ/BASELINE/MQO000.CBL
Run Code Online (Sandbox Code Playgroud)
需要什么修改?
关于类似查询的现有帖子: how to extract path from string in shell script
我想将带有输入参数的别名发送到后面
别名:
alias aaa="/script.sh"
Run Code Online (Sandbox Code Playgroud)
用法:
aaa input1 input2 inpu3
Run Code Online (Sandbox Code Playgroud)
现在我可以通过添加"&>/dev/null&"将aaa发送到后台,但是由于输入的原因,将其添加到别名不起作用
aaa input1 input2 inpu3 &> /dev/null &
Run Code Online (Sandbox Code Playgroud)
我到目前为止所尝试的内容:
alias aaa="/script.sh &> /dev/null &"
Run Code Online (Sandbox Code Playgroud) 我正在写一些像这样的监控程序:
tail -f /var/log/router-home.log | while read line ; do
echo "$line" | egrep "MTF_SIP" | cut -b 28- | sed -u 's/#012/\n/g' \
| egrep "IPP-->Received Event|rvCCConnMdmNewDigitCB|rvCCCallHandleOutOfBandDTMF" \
| cut -d " " -f 15
done > /tmp/phone/status &
Run Code Online (Sandbox Code Playgroud)
但是每次logrotation出现时它都会改变/var/log/router-home.log对这个例程的多个进程的杀戮,我无法通过执行一个来检查它的状态ps -e|grep tail
如何监控此例程并在死亡时重新启动它?