尝试从bash脚本访问网络驱动器(UNC)。网络驱动器需要用户名和密码。
我可以通过运行一些单独的命令(如CD,net use)来访问UNC。但是无法从脚本执行。
遵循以下步骤
1)使用以下命令将驱动器安装到x驱动器
命令:net use x: \\\\Server_name\\Directory /user:users pass
/ PERSISTENT:是的
结果:已安装x驱动器
2)test.sh
#!/bin/bash
ls /cygdrive/x
count_node1 = cat a.log b.log.1 v.log.2 |grep "&&&&" | sort -k1,2 | grep -c 'word'
#count_node1="got it"
echo helloworld
echo $count_node1
#end
结果:helloWorld :没有这样的文件或目录/ x count_node1:找不到命令
3)此外,如果我单独从Cygwin运行每一行,它就能完美运行。
第一次尝试bash个人资料真的很困惑。
答案 0 :(得分:0)
查看shell的语法(bash)。正确的:
count_node1=$(cat a.log b.log.1 v.log.2 |grep "&&&&" | sort -k1,2 | grep -c 'word')
或
count_node1=$(grep '&&&&' a.log b.log.1 v.log.2 |sort -k1,2 | grep -c 'word')
答案 1 :(得分:0)
订单与净使用有关:
net use x: \\\\Server_name\\Directory pass /user:users
答案 2 :(得分:0)
从脚本行的末尾删除回车符字符,i。即将其保存为unix
而不是dos
文件格式。