[英]Change directory in a shell script, and using expr
我刚开始使用Shell脚本(sh),但有两个问题。
问题1 :我正在尝试制作一个非常简单的脚本,该脚本创建目录并立即进入该目录。 这是我目前拥有的脚本:
#!/bin/sh
mkdir -p "$1"
cd "$1"
由于某些原因,这不起作用。 它创建目录,但不进入目录。 我在这里错过明显的东西吗?
问题2 :我正在编写一个使用expr的非常简单的计算器。 但是对于乘法,我使用x
代替*
。 这就是我现在所拥有的:
#!/bin/sh
if test $# -lt 3
then
echo "Usage calc [operand1] [operator] [operand2]"
exit
fi
if test $2 = x
then
op='\*'
else
op=$2
fi
ret=`expr $1 $op $3`
echo $ret
这适用于除乘法之外的所有运算。 例如,调用calc 100 x 10
会产生语法错误。 我尝试了不同的组合,但似乎无法找到将\\*
分配给op
的正确方法。 正确的做法是什么?
a)脚本在新的 shell中运行。 cd
不适用于外部。 尝试使用shell别名而不是此脚本。
b)引用参数的方式不同,尤其是在expr
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.