sách gpt4 ai đã đi

Cách viết lệnh elif trong tập lệnh shell giống như lệnh elseif hoặc else trong fortran

In lại 作者:塔克拉玛干 更新时间:2023-11-03 00:51:54 27 4
mua khóa gpt4 Nike

我在 shell 脚本中使用 elif 命令时遇到问题,就像在 fortran 中一样。

我有 100 家公司的员工名单。我想屏蔽那些员工少于 500 人的公司。我的脚本是

rm -f category_1.txt category_2.txt
var=company
for j in 1..100
do n=$(wc -l < $var_$j.txt)
if [ n -ge 500 ]; then
echo $var_$j >> category_1.txt
elif #I know it will not work
echo $var_$j >> category_2.txt

xong

我知道,我应该写“elif [ n -lt 500 ]; then”。但我想清楚“elif”是否可以像fortran一样使用?对于 Fortran,我们只写

if (n .ge. 500) then
write (1, *) company(j)
khác
write (2,*) company(j)
endif

1 Câu trả lời

正确的 BASH 脚本应该是:

rm -f category_1.txt category_2.txt
var=company
for j in 1..100; do
n=$(wc -l < $var_$j.txt)
if [[ $n -ge 500 ]]; then
echo "${var}_${j}" >> category_1.txt
khác
echo "${var}_${j}" >> category_2.txt

xong
  • 与其使用旧样式 [ $n -ge 500 ] 不如使用更新的 [[ $n -ge 500 ]].
  • 无需使用 nếu,因为您只需要 khác
  • $i_$j 将无法正确解析,因为 _ 也被视为变量名的一部分,您需要使用 ${i}_$(j }

关于linux - 如何在 shell 脚本中编写 elif 命令,如 elseif 或在 fortran 中的 else 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30425716/

27 4 0
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com