我正在尝试将一个文件作为我的shell脚本的输入:
#!/bin/bash
file ="$1"
externalprogram "$file"
echo 'unixcommand file '
我正在尝试提供文件路径,但它总是显示
无法打开“ = / home / username / documents / file”(没有此类文件或目录)
我的路径是这个/ home / username / Documents / file
我在终端中执行此操作:./myscript.sh / home / username / Documents / file
有人可以帮我吗?
答案 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中打开了文件