Объявление пользовательской переменной в сценариях оболочки (оболочка csh) - PullRequest
5 голосов
/ 28 сентября 2010

Я пытаюсь изучить сценарии оболочки и пытаюсь создать пользовательскую переменную внутри сценария, first:

howdy="Hello $USER !"
echo $howdy

Однако, когда я выполняю сценарий (./first), я получаю это:

howdy=Hello aaron!: Command not found.
howdy: Undefined variable.

Что я делаю не так?

Ответы [ 3 ]

9 голосов
/ 28 сентября 2010

В вашем коде есть две ошибки:

  1. вы используете синтаксис sh вместо csh one для установки переменной
  2. вы не экранируете "!"символ (подстановка истории)

Попробуйте это:

#!/bin/csh

set howdy="Hello $USER \!"
echo $howdy
1 голос
/ 28 сентября 2010

csh ожидает, что вы set переменные.Попробуйте

set howdy="Hello $USER"
echo $howdy
0 голосов
/ 28 сентября 2010

Вы делаете

howdy=''Hello $USER !''

Вам необходимо заключить строку в двойные кавычки как:

howdy="Hello $USER !"

Вы, кажется, используете две одинарные кавычки вместо двойной кавычки.

...