forked from bonsai/harakit
		
	sleep(1): initial implementation
This commit is contained in:
		
							parent
							
								
									e674027b3e
								
							
						
					
					
						commit
						82a941eee3
					
				
							
								
								
									
										47
									
								
								src/sleep.rs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								src/sleep.rs
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,47 @@ | ||||
| /* | ||||
|  * Copyright (c) 2024 DTB <trinity@trinity.moe> | ||||
|  * SPDX-License-Identifier: AGPL-3.0-or-later | ||||
|  * | ||||
|  * This program is free software: you can redistribute it and/or modify it under | ||||
|  * the terms of the GNU Affero General Public License as published by the Free | ||||
|  * Software Foundation, either version 3 of the License, or (at your option) any | ||||
|  * later version. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, but WITHOUT | ||||
|  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS | ||||
|  * FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more | ||||
|  * details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU Affero General Public License | ||||
|  * along with this program. If not, see https://www.gnu.org/licenses/.
 | ||||
|  */ | ||||
| 
 | ||||
| use std::{ | ||||
| 	env::args, | ||||
| 	process::ExitCode, | ||||
| 	thread::sleep, | ||||
| 	time::Duration | ||||
| }; | ||||
| 
 | ||||
| extern crate sysexits; | ||||
| use sysexits::{EX_OK, EX_USAGE}; | ||||
| 
 | ||||
| fn usage(s: &str) -> ExitCode { | ||||
| 	eprintln!("Usage: {} [seconds]", s); | ||||
| 	ExitCode::from(EX_USAGE as u8) | ||||
| } | ||||
| 
 | ||||
| fn main() -> ExitCode { | ||||
| 	let argv = args().collect::<Vec<String>>(); | ||||
| 
 | ||||
| 	if argv.len() == 2 { | ||||
| 		if let Ok(s) = argv[1].parse::<u64>() { | ||||
| 			sleep(Duration::from_secs(s)); | ||||
| 			ExitCode::from(EX_OK as u8) | ||||
| 		} else { | ||||
| 			usage(&argv[0]) | ||||
| 		} | ||||
| 	} else { | ||||
| 		usage(&argv[0]) | ||||
| 	} | ||||
| } | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user