简单的bash脚本,使用;“设置”;命令

简单的bash脚本,使用;“设置”;命令,bash,Bash,我应该制作一个脚本,使用“set”命令按大小顺序打印当前目录中的所有大小和文件名 #/bin/bash 触摸/tmp/未排序 IFS='@' 出口国际单项体育联合会 ls-l|tr-s“@”sed'1d'>/tmp/temps 读行时 做 ##布景可能在这里## echo$5$9>>/tmp/unsorted 完成

我应该制作一个脚本,使用“set”命令按大小顺序打印当前目录中的所有大小和文件名

#/bin/bash
触摸/tmp/未排序
IFS='@'
出口国际单项体育联合会
ls-l|tr-s“@”sed'1d'>/tmp/temps
读行时
做
##布景可能在这里##
echo$5$9>>/tmp/unsorted
完成
从逻辑上讲,这是应该工作的脚本,但它只生成空行。 在与同学讨论后,我们认为“set”命令必须在while循环中首先执行。问题是我们无法理解“set”命令的作用以及如何使用它。请帮忙。多谢各位

ls -l | while read line; do
  set - $line
  echo $5 $9
done | sort -n
或者干脆

ls -l | awk '{print $5, $9}' | sort -n

Set操作shell变量。这允许您针对特定情况调整当前环境,例如,调整当前全局规则

有时有必要调整脚本中的环境,以便稍后正确设置选项。由于脚本在子shell中运行,因此您调整的选项在脚本之外没有任何效果


有大量关于各种可用命令和选项的信息。

你对
$5
有什么期望,你想做什么?$5是大小,$9是文件名请注意,如果文件名有空格,它将不会完全包含在
$9
中。谢谢Spencer,我在谷歌搜索“set”时读过这一页. 但是我想不出任何可以操作的变量。@alf变量列表在页面顶部的语法链接下。或者你可以在你的终端上查看bash手册页以获得更完整的列表。它可以工作!使用
set-
,以及使用
set-
。谢谢你的帮助!
ls -l | awk '{print $5, $9}' | sort -n