【问题标题】:How to pass an argument into a file in shell script?如何将参数传递到 shell 脚本中的文件中?
【发布时间】:2021-02-01 05:29:58
【问题描述】:

是否可以从 shell 脚本传递参数并将其传递给文件。 这就是我本质上想要实现的目标:

我的脚本:

#!/bin/bash -

input=$1
DIR=/home/user/

File=$DIR/test.txt

`cat $File` < $input


这是 test.txt:

select * from abc where date=$input;

我对这些东西很陌生。如果有正确的方法,请提供帮助。

【问题讨论】:

标签: linux bash shell unix sh


【解决方案1】:

对于这种特殊情况,您不需要使用 cat 而是使用 echo。

echo "select * from abc where date='$input'" > test.txt

双引号将重定向并将回声连同句子扩展输入变量一起写入 text.txt 变量。

如果您想追加而不是写入,请使用:

echo "select * from abc where date='$input'" >> test.txt

【讨论】:

  • 感谢您的回答!但它可以反过来吗?不是将整个查询传递给文本文件,而是将 $input 值传递给文本文件?可能吗?感谢您的宝贵时间。
  • 如果文件已经包含 select 语句,那么您将不得不使用类似 sed 的东西来编辑文件。
  • 感谢您的成功! sed "s/x/$input/g" $File.txt
猜你喜欢
  • 1970-01-01
  • 2022-09-27
  • 1970-01-01
  • 2020-12-31
  • 1970-01-01
  • 1970-01-01
  • 2016-12-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多