0

我对在 c-shell 中编程比较陌生,并且我遇到了 tr 命令的问题。当我执行脚本时,我收到的错误消息是“找不到 tr 命令”。我还尝试在分配给变量的 foreach 循环中显示文件的内容。这实际上只会打印文件路径的名称或其内容吗?这是我的代码:

#! /bin/csh

set path = /home/students/fall2012/crn12143/ford/friend_list

foreach i ($path)
echo $i | tr '[a-z]' '[A-Z]'
end
4

2 回答 2

2

您正在破坏路径,因此它无法再找到tr. 更改路径,如:

set path=(/home/students/fall2012/crn12143/ford/friend_list $path)

由于您并没有真正path像应该使用的那样使用它,因此您应该考虑将该变量重命名为其他变量。

如果您仍想删除大部分路径,请使用tr命令的完整路径:

echo $i | /path/to/tr '[a-z]' '[A-Z]'
于 2012-11-26T21:14:03.113 回答
1

您正在重新定义 PATH 环境变量,这不好。

您应该改为使用不同的变量名称,例如:

set folder = /home/students/fall2012/crn12143/ford/friend_list
于 2012-11-26T21:16:17.860 回答