我对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
答案 0 :(得分:2)
您正在破坏路径,因此无法再找到tr
。改变路径,如:
set path=(/home/students/fall2012/crn12143/ford/friend_list $path)
由于您并未真正使用path
,因此应考虑将该变量重命名为其他内容。
如果您仍想删除大部分路径,请使用tr
命令的完整路径:
echo $i | /path/to/tr '[a-z]' '[A-Z]'
答案 1 :(得分:1)
您正在重新定义PATH环境变量,这是不好的。
您应该使用不同的变量名称,如:
set folder = /home/students/fall2012/crn12143/ford/friend_list