linux shell 使用数组拷贝文件

作者&投稿:南樊 (若有异议请与网页底部的电邮联系)
linux shell 数组的拷贝~

array2=( "${array[@]}" )

#!/bin/bash
file=test.txt
index=()
while read LINE
do
array[$index]=$LINE
index=`expr $index + 1`
done < $file

shell没有数组,不过下面的实施方式,不知道对你有帮组不?
#!/bin/sh
i=0
for filename in `ls`
do
echo "myfile$i=$filename" >> ./mydata
i=`expr $i + 1`
done

eval `cat ./mydata`

#以下演示
b=0
cat ./mydata | while read line
do
myarray="myfile$b"
eval echo "cp \$$myarray to some dir"
b=`expr $b + 1`
done
rm -f ./mydata

另外要判断是否执行成功,可调用$?,然后判断执行就行。

#!/bin/bash
sdir=/home/flycat
pdir=/tmp/test
array=(`ls -l $sdir | grep ^- | awk '{print $8}'`)
for i in ${array[*]};do
cp $sdir/$i $pdir
done


那曲地区19397256486: linux shell 使用数组拷贝文件 -
牛江盐酸: shell没有数组,不过下面的实施方式,不知道对你有帮组不? #!/bin/sh i=0 for filename in `ls` doecho "myfile$i=$filename" >> ./mydatai=`expr $i + 1` doneeval `cat ./mydata`#以下演示 b=0 cat ./mydata | while read line do myarray="myfile$b" eval echo "cp \$$myarray to some dir"b=`expr $b + 1` done rm -f ./mydata另外要判断是否执行成功,可调用$?,然后判断执行就行.

那曲地区19397256486: linux shell 数组的拷贝 -
牛江盐酸: array2=( "${array[@]}" )

那曲地区19397256486: linux shell里怎么用数组 -
牛江盐酸: split(s,a,fs) 以fs为指定分隔符将字符串s分割成一个数组a awk 'BEGIN{print split("aswd|sawa|eee",Ti,"|"),Ti[1]}'

那曲地区19397256486: linux shell 命令定义和使用数组出错 -
牛江盐酸: 实际上,bash中可以直接对数组赋值的,不需要使用declare.而且取长度的用法${#var}也只能是在bash中.这些都不是符合POSIX标准的用法,而是bash所特有的.所以,要简单点的话,就将声明改为bash,即 #!/bin/bash.当然,还有两处小错,要仔细点:var =(1 2 3 3 5); #赋值时等号两边不能有空格 echo "${#var}; #引号不成对啊,童鞋,这里也可以不要引号的 命令后面的分号其实也是多余的,只要换行了,分号就不需要(当然加了也没错)

那曲地区19397256486: linux下怎么把一个文件复制到多个文件夹里 -
牛江盐酸: 把一个文件复制到多个文件夹里只需要直接在路径上添加不同目录即可. 举例: 在root目录下1.txt文件,复制到/home/abc /home/bcd /home/cde这三个目录中命令如下如下: cp /rooot/1.txt /home/abc /home/bcd /home/cde 简单说下linux下批量...

那曲地区19397256486: linux shell 脚本 求任意10个数的最大值.(使用数组) -
牛江盐酸:[答案] #!/bin/bash aa=(23 345 55 56 -3456 4 678 90 9 1133) max=${aa[0]} for((i=1;ido if [ ${aa[$i]} -gt $max ];then max=${aa[$i]};fi done echo $max

那曲地区19397256486: linux下把一个文件复制到多个目录下的操作是什么 -
牛江盐酸: 假如你要把文件a复制到d1,d2,d3三个目录中,你在shell中敲入以下命令:$for dir in d1 d2 d3$do$cp a $dir$done

那曲地区19397256486: linux脚本,在一个循环中赋值一个数组 -
牛江盐酸: 数组的赋值操作有问题,改成下面这样:for ubootfile in $uboot_list do FILE=`find . -name $ubootfile -print -quit` if [ -n "$FILE" ]; then a=(${a[@]} $FILE) else b=(${b[@]} $FILE) fi done echo "found files:" echo ${a[@]} echo "missing files:" ...

那曲地区19397256486: linux 怎么样复制文件夹内所有文件到另一个文件夹 -
牛江盐酸: 递归复制:cp -r +路径+文件夹名称 +保存路径 如:将/home目录下test1文件夹中的所有文件复制到/tmp目录下的test2文件夹中 cp -r /home/test1 /temp/test2

那曲地区19397256486: Linux下怎么拷贝文件? -
牛江盐酸: 很简单 我说了 你就懂了. CP /home/shell.sh ~/Desktop.shell.sh /home/shell.sh 是home目录下的shell.sh文件 也就是 源文件 ~/Desktop/shell.sh 这个表示 吧shell.sh 复制到桌面 第一个是源文件 第二个是目标文件这样你懂了么..不懂继续问我,我教你

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网