【问题标题】:how to assign a file name into a variable in shell如何将文件名分配给shell中的变量
【发布时间】:2022-01-06 22:17:13
【问题描述】:

如何分配命令以将文件运行到变量中。 我有这一行:

file=$(./file1.sh) #how to properly do this?
if ($0 == $file)
   echo "good to go!"

$file 的目标是检查正在运行的 shell 脚本的名称。

file 应该等于您用来运行 shell 脚本的命令(即“./file.sh”)

我该如何正确地做到这一点?

【问题讨论】:

  • 哈哈哈我想你想将值存储在文件变量中。如果是这样的话。您可以尝试“file=$(cat file1.sh)”,以便您的文件变量将包含您 file1.sh 的内容。如果我错了或理解了别的东西。告诉我
  • 请在寻求人工帮助之前尝试shellcheck.net
  • 类似if [[ $(basename $0) == file1.sh ]]?这样做的目的究竟是什么? 种情况,我们希望根据调用者对 $0 所做的操作来更改行为,但这种情况很少见。在大多数应用程序中,$0 是脚本本身的名称,您通常确实知道这个名称,不是吗?

标签: bash shell command


【解决方案1】:

关闭..

file="file1.sh"
if [[ "${0##*/}" == "$file" ]]; then
   echo "good to go!"
fi

【讨论】:

  • 我会说[[ "${0##*/}" == "$file" ]] 删除目录。 (想多了?:)
  • @tshiono - 不,不是想太多;方式更健壮。 :)
猜你喜欢
  • 2012-11-11
  • 2015-04-27
  • 1970-01-01
  • 2010-09-21
  • 2013-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多