shell脚本for用法
❶ shell脚本里面for循环一个特殊用法谁知道是怎么用的,如下代码中for var do 这种结构
for var
没有in的 for语句,等于for var in "$@",表示将所有命令行参数依次赋值给变量var,执行for中语句
如果这样调用test函数
test a.txt b.txt
则 for中$var的值依次是a.txt , b.txt
❷ 关于shell脚本的for循环问题
数组和字符串的区别
[root@localhost ~]# LINE=`wc -l /etc/passwd|cut -d ' ' -f1`
[root@localhost ~]# for i in {1..$LINE};do echo $i ;done
{1..38}
[root@localhost ~]# for i in {1..38};do echo $i ;done
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
❸ shell脚本如何用for循环删除文件具体请看下面细节
cd $basepath
for f in BS_backup*; do rm -rf $f;done
❹ linux的shell脚本for循环怎么调用位置变量
1、利用$@, $#, $*参数或shift移位参数进行循环
2、例1
#!/bin/sh
while [ $# -gt 0 ]; do
echo $1
shift;
done
3、例2
#!/bin/sh
until (($#==0)); do
echo $1
shift;
done
4、例3
#!/bin/sh
for x in $*;do
echo $x
done
5、例4
#!/bin/sh
for x in $@;do
echo $x
done
❺ linux shell脚本下使用for循环 输出等边三角形 过任务的 求大神指点
#!/bin/bash
read -p "please input the longs:" long
for((i=1;i<=$long;i++))
do
for((j=$long;j>i;j--))
do
echo -n " "
done
for m in `seq 1 $i`
do
echo -n "+"
done
for((n=1;n<i;n++))
do
echo -n "+"
done
echo ""
done
long为你自己输入的边长,如果有规定长度,把$long改成数就行
❻ shell脚本如何用for循环做递减
用seq命令可以生成递减序列:
foriin$(seq10-11)
do
echo$i
done
seq命令说明:
基本用法
seq [选项]... 尾数
seq [选项]... 首数 尾数
seq [选项]... 首数 增量 尾数
以指定增量从首数开始打印数字到尾数。
对于第三种模式,当首数大于尾数时,增量需要指定为负数。
❼ shell脚本for循环中如何调用别的程序
把你的.C文件编译成可执行文件,比如你将hello.c编译成文件名为hello的可执行文件,且该可执行文件在目录/usr/bin下,你就可以这么来重复调用该程序:
#!/bin/bash
i=1
for((i=1;i<=300;i++));do
/usr/bin/hello #文件路径不限
done
试试,应该可以!
❽ shell脚本怎么写for循环
for
I
in
list;
do
statement
done
I
是变量
list是一个表格
如你可以使用一串用括号括起来的数,
也可以使用
命令替换
`seq
1
15`
这个命令忘记了,,
有可能是
`seq
15`
[1..15]
表示1-15的数,,
statement
即要执行的语句
for
I
in
[1..10];
do
echo
$I
done
这段for循环的含义就是显示从1~10的所有数字
❾ 用for循环编写删除文件的shell脚本
#!/bin/bash
#2.sh
cd
#进入加目录
touch
1
#创建文件1
read
-p
"请输入要删除的文件
1
:"
file
if
[
"$file"
!=
"1"
];then
echo
"请输入1
不许输入别的。谢谢!"
fi
for
i
in
$file
;do
#用for循环把$file代入$i
rm
-rf
$i
#删除$i
echo
"$i
被删除了。"
done
#结束
❿ shell脚本for循环
原因:
1. 因为你所处理的文件换行符是dos格式的”
” ;
2. 可以使用cat -v 文件名 来查看换行符是否是,如果是上述的,则行结尾会是^m?需要转换成linux/unix格式的”\n”;
3. 具体转换办法就是转换换行符 。
可以用sed命令处理一下文件,命令如下:?
1. sed ‘s/\r//’ 原文件 >转换后文件 ;
2. sed 命令的参数中 ”代表决定引用参数,不允许参数中的值让shell解释,s代表替换 /后面跟的是被替换的内容,后面的//代表替换后的内容为空 ;
3. 推荐使用EditPlus或者UltraEdit,使用这些文本编辑工具,在保存时,可以选择保存的文字编码类型,比如选择UNIX格式换行符;
4. 我比较喜欢EditPlus的join lines功能,把多行的值变成一个逻辑行,便于写到shell脚本中作为循环的变量。