Check for presence of SHELL environment variable
- POSIX states the SHELL environment variable "... shall represent a pathname of the user's preferred command language interpreter." As such, st should check for its presence when deciding what shell to use; just as HOME can be defined to override one's passwd-defined home directory, a user should also be able to override their passwd-defined shell using the SHELL environment variable.
This commit is contained in:
		
				
					committed by
					
						 Roberto E. Vargas Caballero
						Roberto E. Vargas Caballero
					
				
			
			
				
	
			
			
			
						parent
						
							11625c7166
						
					
				
				
					commit
					bafbba56cd
				
			
							
								
								
									
										3
									
								
								st.c
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								st.c
									
									
									
									
									
								
							| @@ -1158,7 +1158,10 @@ execsh(void) { | |||||||
| 			die("who are you?\n"); | 			die("who are you?\n"); | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | 	if (!(sh = getenv("SHELL"))) { | ||||||
| 		sh = (pw->pw_shell[0]) ? pw->pw_shell : shell; | 		sh = (pw->pw_shell[0]) ? pw->pw_shell : shell; | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	if(opt_cmd) | 	if(opt_cmd) | ||||||
| 		prog = opt_cmd[0]; | 		prog = opt_cmd[0]; | ||||||
| 	else if(utmp) | 	else if(utmp) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user