[: 11: y: unexpected operator问题】的更多相关文章

<私房菜>上的shell脚本问题: 转载:[: 11: y: unexpected operator问题 脚本如下:% #!/bin/bash # Program: # This program shows the user's choice # History: #// PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin& export PATH read -p "Please in…
Ubuntu16.04 执行行脚本出错 在使用sh 执行脚本 出错标志 : 4: [: y: unexpected operator 原因:sh是连接到dash的,又因为dash跟bash的不兼容所以出错了. 解决办法:可以使用 “.” 的方式执行脚本…
/*************************************************************************** * [: xxxx: Unexpected operator * 说明: * 在修改shell脚本的时候遇到这个问题,记录一下解决方法. * * 2017-2-7 深圳 南山平山村 曾剑锋 **************************************************************************/ 一.…
已经一年半没有写过博客了,最近发现学过的知识还是需要整理一下,为知笔记,要开始收费了以前写在为知笔记上笔记也会慢慢的转到博客里. 话不多说,进入正题. 考虑考虑以下场景: 当某个对象对自身赋值时,会出现什么现象?? 例子: #include <iostream> class A { private: int *arr; public: A() { arr = new int[256]; } ~A() { delete arr; } const A& operator=(const A…
什么是自我赋值,就是 v = v 这种类型的语句,也许很多人都会说鄙视这种写法,但是如下的写法会不会出现呢? 比如:a[i] = a[j];      // 不巧的是i可能和j相等 *px = *py;     // 也许px和py刚好指向同一个对象呢 上述例子都是隐含的自我赋值. 再举一例: class Bitmap // 位图类 { ... }; class Widget { public: Widget& operator=(const Widget& rhs); private:…
1.自我赋值,看起来愚蠢,但是却合法.有些自我赋值一眼就可看出来.有些自我赋值是潜在的.比如:a[i] = a[j]; *px = *py; 甚至不同类型的指针,都指向同一个地址,也是自我赋值,这一类自我赋值,很难识别,因此对自我赋值要有一定的防范. 2.对于资源管理类auto_ptr和shared_ptr,自我赋值是安全的.如果自行管理资源,比如Widget中有个Bitmap* pb:copy赋值如下: Widget& Widget::operator=(const Widget& rh…
"自我赋值"发生在对象被赋值给自己时: class Widget { ... }; Widget w; ... w = w; // 赋值给自己 a[i] = a[j]; // 潜在的自我赋值 *px = *py; // 潜在的自我赋值 class Base { ... }; class Derived: public Base { ... }; void doSomething(const Base& rb, Derived* pd); // rb和*pd有可能其实是同一对象…
1.潜在的自我赋值     a[i] = a[j];     *px = *py; 当两个对象来自同一个继承体系时,他们甚至不需要声明为相同类型就可能造成别名. 现在担心的问题是:假如指向同一个对象,当其中一个对象被删,另一个也被删,这会造成不想要的结果. 该怎么办? 比如:   widget& widget:: operator+ (const widget& rhs) {    delete pd;    pd = new bitmap(*rhs.pb);    return *thi…
执行一个脚本  发现报语法错误,但是在其他机器上运行都没有问题 唯一的区别就是 一个是centos机器  报错的是ubuntu 网上搜索了一下 因为Ubuntu默认的sh是连接到dash的,又因为dash跟bash的不兼容所以出错了.执行时可以把sh换成bash文件名.sh来执行 解决方案:  直接 $bash script.sh  或者去script改第一行  #!/bin/sh  为 #!/bin/bash…
本人经常在Linux通过编译 .sh文件来生成工程,之前一直都没问题,代码一直都没变,但是今天编译的时候,却提示错误:…