- 论坛徽章:
- 0
|
尊敬的各位前辈们,小菜我刚接触shell编程,小心翼翼地写了一个脚本,用来模拟 cd 命令,由于脚本中调用了 cd ,有大侠指点说在 bash中应该用 source yoursh.sh arg 的形式执行,在sh中应该用 . yoursh.sh arg 的形式执行。于是小菜我先把 s h切换到 bash,用上述形式取得了圆满成功,可当我在 sh 下用. yoursh.sh arg命令执行时老报错,望前辈们指点一二。\r\n这是脚本内容:\r\n#----------------------------------------------------------------\r\nif\r\n ((\"$#\" > 1 ))\r\n then \r\n echo Inncorrect syntax\r\n echo Usage: $0 [directory]\r\n exit 1\r\nfi\r\n\r\n if ((\"$#\"==0))\r\n then\r\n cd ~\r\n exit 0\r\n fi\r\n \r\n if\r\n [ ! -d $1 ]\r\n then\r\n echo $1 is not a directory, please check your input.\r\n echo Usage: $0 [ directory]\r\n exit 1\r\n fi\r\n \r\n cd $1\r\n#----------------------------------------------------------------\r\n这是在sh中用.方法得到的错误信息:\r\n0: 没找到\r\n0==0: 没找到\r\ntest: 需要参数\r\n\r\n\r\n这究竟是咋回事呢? |
|