linux循环打印第1-n个用户
时间: 2024-02-21 11:57:35 浏览: 21
可以使用以下Shell脚本来实现:
```bash
#!/bin/bash
echo "请输入n的值:"
read n
for ((i=1;i<=n;i++))
do
echo "第$i个用户"
done
```
运行脚本后,会提示输入n的值,输入后即可循环打印出第1到第n个用户。
相关问题
创建两个线程,第一个线程打印数字1-5第二个线程打印数字6-10linux下编写 c语言
好的,这是一个简单的多线程例子,使用pthread库实现:
```c
#include <stdio.h>
#include <pthread.h>
void* print1to5(void* arg) {
for(int i = 1; i <= 5; i++) {
printf("%d\n", i);
}
return NULL;
}
void* print6to10(void* arg) {
for(int i = 6; i <= 10; i++) {
printf("%d\n", i);
}
return NULL;
}
int main() {
pthread_t t1, t2;
pthread_create(&t1, NULL, print1to5, NULL);
pthread_create(&t2, NULL, print6to10, NULL);
pthread_join(t1, NULL);
pthread_join(t2, NULL);
return 0;
}
```
在主函数中,我们创建了两个线程t1和t2,分别使用pthread_create函数创建。第一个参数是指向线程标识符的指针,第二个参数是线程属性,我们使用默认值NULL,第三个参数是指向线程函数的指针,最后一个参数是传递给线程函数的参数,这里我们不需要传递任何参数,所以传入NULL。
在线程函数中,我们只是简单地循环打印数字1-5和6-10。
最后,我们使用pthread_join函数等待线程t1和t2结束,释放它们占用的资源。
linux打印给定行数的*号,第一行一个*,第二行**,第三行***
可以使用循环来实现这个需求,具体的代码如下:
```bash
#!/bin/bash
# 定义需要打印的行数
rows=3
# 循环打印每一行的*
for (( i=1; i<=rows; i++ ))
do
for (( j=1; j<=i; j++ ))
do
echo -n "*"
done
echo ""
done
```
执行以上代码,输出结果如下:
```
*
**
***
```
其中,`-n`参数表示不换行输出。如果需要打印更多行,修改`rows`的值即可。