这是。。
我和你一样,我是图形化的centos7,难道是centos7的问题?
输入内容后是自动换行的,因为-s这个命令把输入给隐藏了,才会让echo的输出结果显示到上面的输入行去,这时候可以手动去换行echo -e “\n"$pw"”
pstree 命令,若没有pstree命令可用yum install -y psmisc 进行安装
再pstree命令输出中进行查找bash字段,若如:sshd───sshd───bash───pstree 则表示父shell
若出现两个bash 则表示子shell 中 如:sshd───sshd───bash───bash───pstree
但是删除只能在定义该变量的Bash下删除
调用变量写成&sum了,改成$sum,这都能出错,害我试半天。代码不太规范
没有给这个文件执行权限, chmod 755 canshu.sh
执行上面那条命令后就可以用绝对路径了
需要安装一下:
#On Mac OS
brew install pstree
#On Fedora/Red Hat/CentOS
yum install psmisc #using psmisc package for pstree
#On Ubuntu/Debian APT
apt-get install psmisc
双引号没加吧
把shell.sh里的内容贴出来看下
我也是这样,不知道怎么回事
unset 变量删除重建
具体情况不清楚,查了些资料希望有帮助https://blog.csdn.net/dgj8300/article/details/51045797
另外,很多问题不只我们自己会遇到,出现意料之外的情况的时候及时在网上查找信息一般都会解决问题哒,要善于利用工具,毕竟编程本身也是工具而已
不加\n时,也可以自动换行的
里面相加后还只是两个字符串的“+”号拼接,加$才能转为数字
很简单,因为PS1是本地变量,env只能看到环境变量,看不到本地变量,用set可以看到所有变量
当用exit离开子shell时,该子shell应该就会被销毁,当然也包括子shell中定义的变量。
而所谓的“回到子shell”,是创建一个新的子shell,而原来的子shell应该是被销毁不存在了
看运算符那个
是的,按照PATH的值,一个一个往下找,只要找到就执行,如果下面还有这条命令,没办法不能执行。
不难的 看看视频 百度找找案例 然后仿照写的试试
已经找到问题了,谢谢了
去循环执行一个.sh文件
你是用的Linux版本是CentOS7 吗? CentOS7 使用set命令后,显示就是这样的
$@和$*都是表示“所有参数”。带""时有如下区别
"$*" 会变成 "$1 $2 $3 $4......",注意参数间带着空格。
"$@" 会变成 "$1" "$2" "$3"......
for i in "$*" 转化为 for i in "$0 $1 $2 $3 $4......",将用户输入的参数代入,"$*"是一个长字串。
for y in "$@" 转化为 for y in "$1" "$2" "$3"...... , 代入参数后,有几个字串for循环几次,"$@"是个列表。
不带""的话,它们俩一样。
已经解决了
按照$PATH的顺序查找,也就是写在前面的目录先找,找到了就执行并且不再找了,不会出现找到两个执行命令的情况。
写一个脚本?