好的,这是我的整个代码,我有一个新的错误:非法变量名。
当我使用以下命令执行文件时:csh filename.sh
结果是:非法的变量名。
我认为问题包含在: while ( $? == 1 ) #!/bin/sh
set quitter = "N"
# Boucle sur la condition d'arret du script:
while ( $quitter == "N" )
# Saisie du nom de l'utilisateur :
echo "Quel utilisateur ?"
set a = $<
# Mettre le résultat de la commande ps -u
# dans un fichier quelque soit le résultat (juste ou faux) :
ps -u $a >&fichier
# La varible $? vaudra 1 si la dernière commande qui a été éxcuter
# a retourné une erreur, 0 sinon.
# On boucle donc j'usqu'a ce que le nom d'utilisateur soit correct:
while ( $? == 1 )
echo -n "Nom d'utilisateur innexistant, entrez un autre :"
set a = $<
ps -u $a >&fichier
commande=$(tail -$i tempfile|head -1|cut -d" " -f2)
let i=i+1
echo -n " $commande : "
case $etat
in
D) echo "endormi => ininterruptible"
S) echo "endormi"
R) echo "en cours"
T) echo "stoppe"
Z) echo "zombi"
*) echo "inconnu"
esac
end
# Suppression du fichier qui a servi aux tests
rm fichier;
echo -n "voulez-vous quitter ? (O/N):";set quitter = $<
end
Run Code Online (Sandbox Code Playgroud)
您的代码似乎是 bash 和 csh 的混合体,并且在您最初打开时(shebang),您有#!/bin/sh,这绝对不是 csh,并且由于旧行 sh=originaUnix* Bourne *Shell 或 linux 系统可能而模棱两可为方便起见,将 /bin/bash 的链接设为 /bin/sh。
错误消息告诉你正确的事情,$?在 csh 中不是一个有效的变量,你想使用等效的$status.
我无权访问 csh 来运行您的代码,但我看到了一些我质疑的事情,我知道有些事情对于 csh 语法是错误的。
commande=$(tail -$i tempfile|head -1|cut -d" " -f2)
Run Code Online (Sandbox Code Playgroud)
不行,试试
set commande = `tail -$i tempfile|head -1|cut -d" " -f2`
# tnx to @dwalter for correct syntax on that!
Run Code Online (Sandbox Code Playgroud)
csh case sytnax 是
switch ( "$etat" )
case D:
echo "endormi => ininterruptible"
breaksw
default:
echo "unknown option provided in as etat=$etat"
breaksw
endswitch
Run Code Online (Sandbox Code Playgroud)
而且,我很怀疑
ps -u $a >&fichier
Run Code Online (Sandbox Code Playgroud)
你在那里的意图是什么?如果您正在写入文件fichier,我看不到您从哪里读取。它的目的是什么?
如果您需要进一步的帮助,请编辑您的问题以包含确切的错误消息(格式为代码)。
聚苯乙烯
如果您将来需要使用 Unix 脚本,那么您可以通过放弃使用 csh 并转换为 ksh/bash 来增强整体市场性。由于大部分代码是bash,您最好将第一行更改为#!/bin/bash,然后研究并修复由此产生的错误消息。
IHTH
| 归档时间: |
|
| 查看次数: |
26666 次 |
| 最近记录: |