【问题标题】:Bash variable does not allow a directory name to be assigned to itBash 变量不允许为其分配目录名称
【发布时间】:2018-06-19 13:04:58
【问题描述】:

我想在 Bash 中创建以下变量:

PATHTOMYDIR=/fshare/users/myusername/

(基本上,里面有一个字符串的变量:我的目录的路径,我有我的数据,稍后可以包含在一些脚本中以在该目录中生成文件夹,例如)。

具体问题是:当我输入那行代码时,我收到以下错误消息:

-bash: /fshare/users/myusername: Is a directory

因此,我想问:Bash 不允许变量包含路径名吗?我认为这是可能的,所以我认为我在这里遗漏了其他东西。我用谷歌搜索了错误消息,但在任何论坛上都没有找到与此案例有关的任何帖子。

【问题讨论】:

  • 请在此处包含您的代码,以便我们试用。我可以毫无问题地做x=/a/dir/I/have
  • 同意。该代码看起来不错。我相信如果它是PATHTOMYDIR= /fshare/users/myusername/(在“=”之后有一个空格),您的错误将会被复制。
  • 你们说的都对!我在路径的“=”和第一个“/”之间有一个空格。似乎空间有所不同。一些简单的事情,但如果其他人有同样的问题(特别是当你是新手时),可以把它留在这里。谢谢!

标签: bash directory


【解决方案1】:

路径的“=”和第一个“/”之间有一个空格。

这会出错:

PATHTOMYDIR= /fshare/users/myusername/

这是正确的:

PATHTOMYDIR=/fshare/users/myusername/

似乎空间有所不同。谢谢@AIG 和@Jason!

编辑:@Jason 指出使用逗号是一种很好的做法,因此更正确的形式是:

PATHTOMYDIR="/fshare/users/myusername/"

【讨论】:

  • 顺便说一句,像这样引用变量是一种很好的做法。将来,如果这个目录中有一个空格,它会破坏你的代码。 PATHTOMYDIR="/fshare/users/myusername/"
猜你喜欢
  • 2012-07-31
  • 1970-01-01
  • 1970-01-01
  • 2021-01-12
  • 1970-01-01
  • 1970-01-01
  • 2016-01-15
  • 2022-08-03
  • 2018-07-20
相关资源
最近更新 更多