Это - демонстрационная прямая программа. Я использую оболочку C и хочу решение для этой среды самой. После этого примера кода:
set FILENAME = "\!:2"
alias jo 'echo this is my \!:1 file and its name is $FILENAME'
на командной строке, когда я даю следующее:
jo first sample.txt
Я должен получить вывод как
this is my first file and its name is sample.txt
вместо этого я добираюсь
this is my first file and its name is !:2
Проблемой здесь является символ \, полностью устраняется, я не знаю как. Это необходимо, если я хочу, чтобы это взяло аргумент. Кто-либо может выручить с этим?
Для достижения желаемого результата необходимо перенести второй спор псевдонима с двойными кавычками, таким образом, переменное имя файла интерпретируется правильно:
set FILENAME = "\!:2"
alias jo "echo this is my \!:1 file and its name is $FILENAME"
Тест:
% jo first sample.txt
this is my first file and its name is sample.txt