Bash脚本文件作为输入

时间:2020-09-11 18:20:07

标签: linux shell

我正在尝试将一个文件作为我的shell脚本的输入:

#!/bin/bash
file ="$1"
externalprogram "$file"
echo 'unixcommand file ' 

我正在尝试提供文件路径,但它总是显示

无法打开“ = / home / username / documents / file”(没有此类文件或目录)

我的路径是这个/ home / username / Documents / file

我在终端中执行此操作:./myscript.sh / home / username / Documents / file

有人可以帮我吗?

4 个答案:

答案 0 :(得分:0)

当你说

file ="$1"

在“文件”之后有一个空格,您正在运行名为file的{​​{1}}作为参数。实际上,可能是 一个名为=$1的实用程序。如果要将file分配给名为$1变量,则不需要空格:

file

答案 1 :(得分:0)

第二行中的=之前不能有空格。 file = $ 1应该足够了。

答案 2 :(得分:0)

检查shellcheck对您的代码的评价:

 ^-- SC1068: Don't put spaces around the = in assignments (or
 quote to make it literal).

您可以在its Github page上了解有关SC1068机箱的更多信息。

答案 3 :(得分:0)

#!/bin/bash

file=$1

code $file

echo "aberto o arquivo ${file} no vscode"

我制作了此代码段进行演示,我通过了路径,并在vscode中打开了文件

相关问题