【发布时间】:2019-05-02 04:00:03
【问题描述】:
我有一个名为 Year.txt 的文件
Year2000= 1/2/3/4/
Year2001= 5/6/7/8/
Year2002= 9/10/11/12/
....
....
....
Year2020= 100/101/102/
等等
我需要将此 Year.txt 作为我的另一个脚本中的参考一些 sample.sh
sample.sh
source /home/user/Year.txt
d=cp $filename $1
echo $d
sample.sh Year2000(将 Year2000 作为第一个参数传递)
**如果我将 Year2000 作为参数传递,我需要剪切 = 之后的第二部分并将 1/2/3/4/ 粘贴到我的语句中
**如果我将 Year2001 作为参数传递,我需要在 = 之后剪切第二部分,并将 5/6/7/8/ 粘贴到我的复制语句中 等等。
我需要这样的输出:
Input1 sample.sh Year2000
输出:cp somefile.txt 1/2/3/4/
输入2:sample.sh Year2001
输出:cp somefile.txt 5/6/7/8/
简而言之——我需要从另一个文件中获取引用并生成复制语句
【问题讨论】:
-
你的输入文件在
=之后真的有空格吗?如果是这样,这不是一个合法的 bash 分配,所以你不能source它。 -
您的目标是哪个外壳? 真的需要
/bin/sh,还是可以使用bash? (关联数组非常适合手头的问题)。由于source不是合法的 POSIX sh 语句,听起来您可能已经在 bash 上进行测试了。 -
我们可以用任何分隔符更改输入文件,| , 双引号任何东西。但我需要副本声明应该准备好。不强制使用 =
-
回声 $0 -bash 。没关系。
-
这确实很重要。如果您以
sh的名称运行 Bash,它将禁用功能;它必须以bash调用,以使完整的扩展语言可用。
标签: bash