Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 在shell脚本中按变量引用文件路径_Linux_Shell_Unix - Fatal编程技术网

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变量赋值中不允许使用
=
周围的空格。