Shell - No such file or directory
程序员文章站
2022-05-18 18:42:52
...
【基本介绍】
在编写shell脚本的时候也会经常出现“/bin/grep: |: No such file or directory”类似的错误,特别是在执行的命令是变量的情况
【简单案例】
解决方法可以使用eval命令
【eval】
eval命令将会首先扫描命令行进行所有的替换,然后再执行命令。该命令使用于那些一次扫描无法实现其功能的变量。该命令对变量进行两次扫描。这些需要进行两次扫描的变量有时候被称为复杂变量。
【参考】
http://www.softpanorama.org/Utilities/eval.shtml
http://kmoving.blog.163.com/blog/static/205049197201242511250128/
在编写shell脚本的时候也会经常出现“/bin/grep: |: No such file or directory”类似的错误,特别是在执行的命令是变量的情况
【简单案例】
[root@bogon script]# cat aa.sh aa="/bin/grep Accepted /root/test.log | /bin/grep -v something" tmp=`$aa` [root@bogon script]# bash aa.sh /bin/grep: |: No such file or directory /bin/grep: something: No such file or directory
解决方法可以使用eval命令
[root@bogon script]# cat aa.sh aa="/bin/grep Accepted /root/test.log | /bin/grep -v something" tmp=`eval $aa` [root@bogon script]# bash aa.sh [root@bogon script]# [root@bogon script]#
【eval】
eval命令将会首先扫描命令行进行所有的替换,然后再执行命令。该命令使用于那些一次扫描无法实现其功能的变量。该命令对变量进行两次扫描。这些需要进行两次扫描的变量有时候被称为复杂变量。
[root@bogon script]# cat dd.sh X=10 Y=X echo '$'$Y echo $$Y echo ${$Y} eval echo '$'$Y [root@bogon script]# bash dd.sh $X 40342Y dd.sh: line 5: ${$Y}: bad substitution 10
【参考】
http://www.softpanorama.org/Utilities/eval.shtml
http://kmoving.blog.163.com/blog/static/205049197201242511250128/
上一篇: php中addslashes函数与sql防注入_PHP
下一篇: 如何筛选SQL字符串字段中部分值
推荐阅读
-
PHP错误Parse error: syntax error, unexpected end of file in test.php on line 12解决方法
-
PHP parse_ini_file函数的应用与扩展操作示例
-
shell脚本作为保证PHP脚本不挂掉的守护进程实例分享
-
linux shell下时间的操作
-
Linux Shell 文本处理工具集锦
-
详谈java中File类getPath()、getAbsolutePath()、getCanonical的区别
-
shell awk实现实时监控网卡流量脚本(常见应用二)
-
PHP中is_file不能替代file_exists的理由
-
oracle中utl_file包读写文件操作实例学习
-
PHP使用file_get_content设置头信息的方法