Linux 在shell脚本中按变量引用文件路径
我想通过脚本中的变量引用文件路径,但不知道语法Linux 在shell脚本中按变量引用文件路径,linux,shell,unix,Linux,Shell,Unix,我想通过脚本中的变量引用文件路径,但不知道语法 #!/bin/bash filepath = /tibcouat1_fs/tibco/deployment/egypt/bnk/broker/logs/; echo "============BNKBroker==============" grep 'EXSTAT|' $filepath/bnkbroker.log 查找我创建的上面的脚本,在下面找到错误 bash-3.2$ ./BNKSrvcList.sh ./BNKSrvcList.sh:
#!/bin/bash
filepath = /tibcouat1_fs/tibco/deployment/egypt/bnk/broker/logs/;
echo "============BNKBroker=============="
grep 'EXSTAT|' $filepath/bnkbroker.log
查找我创建的上面的脚本,在下面找到错误
bash-3.2$ ./BNKSrvcList.sh
./BNKSrvcList.sh: line 2: filepath: command not found
============BNKBroker===== =========
grep: can't open /bnkbroker.log
bash-3.2$
试试这个
filepath='/tibcouat1_fs/tibco/deployment/egypt/bnk/broker/logs/';
试试这个
filepath='/tibcouat1_fs/tibco/deployment/egypt/bnk/broker/logs/';
等号(=)两侧不能有空格,请尝试以下操作:
filepath=/tibcouat1_fs/tibco/deployment/egypt/bnk/broker/logs/
等号(=)两侧不能有空格,请尝试以下操作:
filepath=/tibcouat1_fs/tibco/deployment/egypt/bnk/broker/logs/
行尾
可以,但不是必需的。我们通常不使用最后一个“/”作为文件路径,如下所示:filepath=/tibcoaat1\u fs/tibco/deployment/埃及/bnk/broker/logs
,因此,以后您可以在文件夹路径名$filepath
和日志文件名bnkbroker.log
之间使用“/”:$filepath/bnkbroker.log
,使用bash shell语法,变量的赋值不能跨越空格:a=5 echo$a
意味着将变量a赋值给5,然后打印变量a。因此Name=John Smith
将字符串John赋值给变量名,但随后将执行Smith(通常是未知命令)。正确的用法是用单引号或双引号引用它:Name=“John Smith”
类似地,A=5
意味着将空字符串分配给A
,然后执行名为5
的命令,这通常是一个未知命令。这个答案使我的一天结束了
可以,但不是必需的。我们通常不使用最后一个“/”作为文件路径,如下所示:filepath=/tibcoaat1\u fs/tibco/deployment/埃及/bnk/broker/logs
,因此,以后您可以在文件夹路径名$filepath
和日志文件名bnkbroker.log
之间使用“/”:$filepath/bnkbroker.log
,使用bash shell语法,变量的赋值不能跨越空格:a=5 echo$a
意味着将变量a赋值给5,然后打印变量a。因此Name=John Smith
将字符串John赋值给变量名,但随后将执行Smith(通常是未知命令)。正确的用法是用单引号或双引号引用它:Name=“John Smith”
类似地,A=5
意味着将空字符串分配给A
,然后执行名为5
的命令,这通常是一个未知的命令,BASH变量赋值中不允许使用=
周围的空格。这是错误的,BASH变量赋值中不允许使用=
周围的空格。