求大神解答shell中的$f是什么意思?

作者&投稿:温品 (若有异议请与网页底部的电邮联系)
shell中x$F是什么意思~

x后跟一个变量F。

  我没用过$@,但是可以自己写个脚本测试下。
先介绍下我知道的,如下:
位置变量 :$0,$1,$2,$3,$4,$5,$6,$7,$8,$9 $0显示运行的脚本,$1...显示位置参数的值
预定义变量:

  $# 表示位置参数的数量
  $* 表示所有位置参数的内容
  $? 表示命令执行后返回的状态 (执行成功 返回0 执行不成功 返回非0)
  $$ 表示当前进程的进程号 希望打开一个进程后不再打开另一个(/proc/)
  $! 表示后台运行的最后一个进程号
  $0 表示当前的进程名

  测试脚本如下:(位置变量只输出到$3)
  [root@XP-24-35 script]#vim a.sh
  #!/bin/bash
  echo '$0 ==> ' $0
  echo '$1 ==> ' $1
  echo '$2 ==> ' $2
  echo '$3 ==> ' $3
  echo '$$ ==> ' $$
  echo '$* ==> ' $*
  echo '$@ ==> ' $@
  echo '$# ==> ' $#
  echo '$? ==> ' $?

  执行结果1(输入小于三个位置参数a,b)
  [root@XP-24-35 script]# ./a.sh a b
  $0 ==> ./a.sh
  $1 ==> a
  $2 ==> b
  $3 ==>
  $$ ==> 4847
  $* ==> a b
  $@ ==> a b
  $# ==> 2
  $? ==> 0

  执行结果2(刚好输入三个位置参数)
  [root@XP-24-35 script]# ./a.sh a b c
  $0 ==> ./a.sh
  $1 ==> a
  $2 ==> b
  $3 ==> c
  $$ ==> 4844
  $* ==> a b c
  $@ ==> a b c
  $# ==> 3
  $? ==> 0

  执行结果3(输入大于3个位置参数)
  [root@XP-24-35 script]# ./a.sh a b c d e f
  $0 ==> ./a.sh
  $1 ==> a
  $2 ==> b
  $3 ==> c
  $$ ==> 4852
  $* ==> a b c d e f
  $@ ==> a b c d e f
  $# ==> 6
  $? ==> 0

  实验结果说明一切,忘采纳,谢谢。

for f in $(ls)
do
echo $f

done

$f表示取变量f的值
f是在for循环里的变量

linux shell脚本下使用for循环 输出等边三角形 过任务的 求大神指点
答:!/bin/bash read -p "please input the longs:" long for((i=1;i<=$long;i++))do for((j=$long;j>i;j--))do echo -n " "done for m in `seq 1 $i`do echo -n "+"done for((n=1;n

请教大神shell的for in语句中怎么使用多个变量
答:要求写一个shell脚本要遍历循环输出这3个变量总的意思就是怎么在for in 循环中使用多个变量 fangj1n | 浏览6568 次 |举报 我有更好的答案推荐于2017-12-16 13:27:42 最佳答案 下图就是你要达到的目的吧,1.txt为10行内容,2.txt为10行内容,C目录有10个文件,for.sh为实现的shell脚本。 上图就是你要...

shell处理2个文件比对,求大神指教: a文件 1 2 3 b文件 1,b 2,a...
答:再具体一些 想了一个比较笨的方法 !/bin/bash for i in `cat file.1`; do for j in `cat file.2`; do if [ $i -eq `echo $j | awk -F ',' '{print $1}'` ]; then echo $j >> file.3 else echo $i >> /tmp/file.4 fi done done echo "`uniq -c /tmp/file.4...

大神快帮我看看,这个shell脚本哪里错了
答:[root@localhost ~]# sh -x ccc hello+ '[' hello == hello ']'+ echo okok[root@localhost ~]# cat ccc#!/bin/bashif [ $1 == "hello" ];then echo "ok"else echo "no"fi sh -x yourshell 可以看到执行过程

shell脚本,求大神详细解答一下这个脚本的功能(参数设置方式),谢谢...
答:这个脚本大致流程是这样的:脚本需要传入一个磁盘名称的参数赋值给dev变量 通过函数config来生成配置文件wd.cfg, 这些配置文件的参数你可以去参考下vdbench命令 最终执行磁盘性能测试命令 ./vdbench -f wd.cfg 生成一个4K_write_ran_"当前时间" 的一个报告文件 ...

shell脚本编程题目求教,各位大神帮帮忙啊~~~详细最好了!
答:1)cat d1 d2 > d3 你这个第二题,怎么搞?a,b,c 给的代码,是C语言的,如果这三个文件启动,首先你要编译一下。。用s1来启动。s1里也没什么好写的,那也就执行一遍,顶多前面加个路径。!/bin/bash a b c s2也没什么复杂的东西,三个进程起来了。无非就是截取一下三个进程的pid然。...

请教大神shell的for in语句中怎么使用多个变量
答:1、遍历按空格分隔的字符串:!/bin/bash servers="abc123 das 222"for server in$servers do echo$server done 2、遍历字符串列表、用空格分隔:!/bin/bash for server in a b c do echo$server done 3、遍历参数列表:!/bin/bash for arg in do echo$arg done4、遍历文件目录:!/bin/...

shell脚本中怎样对特殊字符进行处理 一串密码在加密前对密码中的!@#...
答:用sed正则匹配全局替换:echo 'Aa123!@#$' | sed "s/[^0-9a-zA-Z]/'&'/g"这样就把不是字母或数字的其他字符都加上单引号啦 当然,如果原输入中不存在特殊字符,就还是原样输出,不会做任何改变。

shell大神帮忙看一下
答:用正常的工具调一下试试,先确定是他接口的问题,还是你代码的问题。用分段排除法!

Linux环境下的shell编程,有一道问题请求大神帮忙解一下,万分感谢。_百 ...
答:1、将ABCDE当作几个字符串处理,可以用echo -n A B C D E 也可以存入一个文件cat a.txt 或者for x in {A..E};do 2、例如 !/bin/sh for x in {A..E};do newdir=${x}dir;mkdir $newdir;/bin/cp /etc/passwd $newdir;ls -l $newdir done echo over;...