Я написал этот код:TCSH/CSH | присвоить переменной с командами результат
1 #!/bin/tcsh
2
3 set myFiles = `ls`
4 set i = 1;
5 echo "argc is $#argv"
6 while ($i <= $#argv)
7 $myFiles = `echo $myFiles | tr "$argv[$i]" " "`
8 echo "argv now is $argv[$i]"
9 echo "my files are : $myFiles"
10 @ i++;
11 end
12 echo "my files post proccess are $myFiles"
13 foreach name ($myFiles)
14 set temp = `cat $name`
15 echo "temp is : $temp"
16 unset temp
17 end
Этот кусок должен получить список имен файлов в текущей папке и распечатать содержимое файлов , которые не указаны IE: папку имеет файлы: ABCDE , а вход: ABC , поэтому содержимое DE будет напечатано.
теперь логика верна, но у меня есть некоторые синтаксические вопросы относительно линии 7 (В) Я пытался с SED как хорошо, но я получаю «доступ запрещен» на консоль по какой-то причине, и Я действительно не знаю, как это исправить.
Таким образом, мне нужна на самом деле синтаксиса в отношении назначения переменной с выводами команд плюс включение других переменных в эти команды.
Надеется, что все в порядке ..
СПАСИБО!
Вам не хватает 'set' на этой линии. Также вы не ставите знак доллара, когда вы назначаете переменную - '' 'означает интерполяцию. – tripleee