我之前从未使用过bash,但我试图理解这段代码。该脚本应显示所有登录名,全名及其用户ID。但是,每当我运行时,我都无法通过第一个if语句,如果我删除该语句,它就不起作用。
#!/bin/bash
if [ $# -lt 1 ];
then
printf "Not enough arguments - %d\n" $#
exit 0
fi
typeset user=""
typeset name=""
typeset passwdEntry=""
while [ $# -ge 1 ];
do
user=$1
shift
name=""
passwdEntry=`grep -e ^$user /etc/passwd 2>/dev/null`
if [ $? -eq 0 ]; then
name=`echo $passwdEntry|awk -F ':' '{print $5}'`
fi
echo "$user $name"
done
答案 0 :(得分:4)
angular.module('starter', ['ionic'])
.run(function($ionicPlatform) {
$ionicPlatform.ready(function() {
var push = new Ionic.Push({
"debug": true
});
push.register(function(token) {
console.log("My Device token:",token.token);
push.saveToken(token); // persist the token in the Ionic Platform
});
});
})
表示“当前Bash程序的参数数量”,$#
表示“当前Bash程序的第一个参数”。
所以你的问题是你没有向程序传递任何参数;例如,而不是像这样的东西:
$1
你需要写这样的东西:
./foo.sh
由于您是Bash的新手,我强烈建议您浏览 Bash参考手册,http://www.gnu.org/software/bash/manual/bashref.html。这一切都在一个页面上,因此您可以使用浏览器的“查找页面”功能(通常为./foo.sh USERNAME
)来搜索内容。