相关疑难解决方法(0)

参数在bash脚本中传递给for循环

我试图将参数作为for循环的最大限制传递,如下所示:

#!/bin/bash

for i in {1..$1}
do
    echo $i
done
Run Code Online (Sandbox Code Playgroud)

然而,这{1..2}在使用参数调用时返回2,而不是执行脚本并给我

1
2
Run Code Online (Sandbox Code Playgroud)

bash loops command-line-arguments

23
推荐指数
2
解决办法
3万
查看次数

用变量支撑扩展?

#!/bin/sh
for i in {1..5}
do
   echo "Welcome"
done
Run Code Online (Sandbox Code Playgroud)

会工作,显示欢迎5次.

#!/bin/sh
howmany=`grep -c $1 /root/file`
for i in {1..$howmany}
do
   echo "Welcome"
done
Run Code Online (Sandbox Code Playgroud)

Doesn't work! howmany would equal 5 as that is what the output of grep -c would display. $1 is parameter 1 which is specific when running the script.

Any ideas?

variables syntax bash variable-expansion

16
推荐指数
5
解决办法
6483
查看次数

根据变量的值创建多个目录

我有变量“一”,其中包含以下内容

avi,mkw,dvd,cd
Run Code Online (Sandbox Code Playgroud)

我试图动态创建看起来像这样的目录

type-avi
type-mkw
type-dvd
type-cd
Run Code Online (Sandbox Code Playgroud)

我试图用以下代码达到想要的结果

mkdir type-{"$one"}
Run Code Online (Sandbox Code Playgroud)

但它没有创建 4 个目录,而是创建了一个名为

type-{avi,mkw,dvd,cd}
Run Code Online (Sandbox Code Playgroud)

我想这是错误的方法..如果是这样,我如何动态创建带有存储在变量中的“后缀”的目录?

unix shell scripting

1
推荐指数
1
解决办法
277
查看次数