我对tcsh很新。我发现了如何使用
将所有参数打印到单独的行中#! /bin/tcsh
foreach i ($*)
echo $i
end
大!现在,我想不打印第一个元素并使用 grep 来测试第一个参数是否与任何模式匹配< / em>在其他参数中。
这个想法是,如果有人输入 ./ prog bread'^ b''x' 它应该输出
^b : b
x : no match
谢谢!
答案 0 :(得分:1)
您可以使用:
#!/bin/tcsh
# Store first element in variable
set first="$1"
# `shift` removes the first (from the left) element from $*
shift
# Now iterate trough the remaining args
foreach i ($*)
# Grep for $i in $first and send results to /dev/null
echo "$first" | grep "$i" >& /dev/null
# Check the return value of the last command
if ( $? == 0 ) then
echo "$i : matched"
else
echo "$i : no match"
endif
end