У меня есть эта функция nushell:
def rebase-diff [oldtip:string,newtip:string] {
git range-diff $oldtip...$newtip | save -f rebase-diff.txt | start ./rebase-diff.txt
}
Когда я запускаю его, я получаю:
× Data cannot be accessed with a cell path
╭─[C:\Users\Yathindu.Hettiarachc\AppData\Roaming\nushell\config.nu:869:1]
869 │ def rebase-diff [oldtip:string,newtip:string] {
870 │ git range-diff $oldtip...$newtip | save -f rebase-diff.txt | start ./rebase-diff.txt
· ┬
· ╰── string doesn't support cell paths
871 │ }
╰────
Итак, nushell думает, что я использую ., но я просто хочу, чтобы он использовал ... буквально.
Есть ли способ спастись .?





Точка . не является словесным символом, поэтому ее необходимо заключить в кавычки. Чтобы объединить его со значениями переменных, вы можете использовать
+:
git range-diff ($oldtip + '...' + $newtip) | …
$:
git range-diff $'($oldtip)...($newtip)' | …
Попробуйте Интерполяцию строк:
git range-diff $"($oldtip)...($newtip)" | …