i'm trying feel unix can write short program in unix csh takes stdin , returns stdout. wrote following code:
echo "test" echo -n "input: " set test = "$<" echo $test
however keep getting error can't quite figure out when type in characters. example,
run 1: no question mark. can see, runs want to.
edoras ~/as4[199]% ./scriptp1 test input: www.google.com/search www.google.com/search
run 2: question mark. suddenly, there's "no match" error.
edoras ~/as4[201]% ./scriptp1 test input: https://www.google.com/search?criteria echo: no match.
so error , how go fixing it? because actual program have write have able read special characters , print out ascii codes.
from tcsh
manual page:
unless enclosed in
'"'
or given':q'
modifier results of variable substitution may command , filename substituted.
since variable not quoted, shell attempts filename substitution, fails because don't have file matching search?citeria
in subdirectory named www.google.com
in subdirectory named https:
in current directory. "no match" means filename substitution failed. same manual page:
it error glob-pattern containing
'*'
,'?'
,'['
or'~'
, or without'^'
, not match files.
the technical answer ends here. rest purely opinion-based.
please note unless have specific reasons considered preferable write scripts in posix-compatible shell, because csh
-compatible shells not available default. think beginner should first learn write scripts in posix-compatible shell , afterwards, if needed, consider csh
-compatible shells.
Comments
Post a Comment