*

时间:2016-02-18 06:24:12

标签: shell csh

首先,这是家庭作业。只是在努力解决一些我无法通过谷歌找到太多信息的事情。

问题是打印从1到输入数字的整数乘积。

因此,如果我们输入4,我们给出24(1 * 2 * 3 * 4)作为输出。

我的问题是,我无法弄清楚如何转义*字符以将其连接到我的字符串。我在bourne shell上工作,但在c shell中继续遇到这个问题。

@ temp = 1
@ ans = 1
while ( $temp <= $number )
    @ ans = ( $ans * $temp )
    @ temp = ( $temp + 1 )
end
set ans = "$ans ("
@ count = 1
while ( $count <= $number )
    set ans = "$ans$count"
    @ count = ( $count + 1 )
    if ( $count <= $number ) then
        set ans = "$ans*"
    endif
end
set ans = "$ans)"
echo $ans   

非常感谢任何帮助或指示。 谢谢!

2 个答案:

答案 0 :(得分:1)

<击>

<击>
echo "$ans"

<击>

修改 combine_first你的回声需要引用:

$('.tab-content') I am trying to find out all the elements with the class tab-content

答案 1 :(得分:1)

当回显变量时,在变量(echo "$ans")周围使用双引号以避免shell扩展变量值中的元字符:

(脚本文件:prod.csh):

#!/bin/tcsh

@ number = 6
@ temp = 1
@ ans = 1
while ( $temp <= $number )
    @ ans = ( $ans * $temp )
    @ temp = ( $temp + 1 )
end
set ans = "$ans ("
@ count = 1
while ( $count <= $number )
    set ans = "$ans$count"
    @ count = ( $count + 1 )
    if ( $count <= $number ) then
        set ans = "$ans*"
    endif
end
set ans = "$ans)"
echo "$ans"

示例运行:

$ tcsh prod.csh
720 (1*2*3*4*5*6)
$